《现代信号处理》课程设计实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《现代信号处理》

课程实验报告

指导老师:支国明、周扬

专业班级:电子信息1101

学号:0909110814

姓名:周群创

一、课程设计题目和题目设计要求

1、信号发生器

用户根据测试需要,可任选以下两种方式之一生成测试信号:

(1)直接输入(或从文件读取)测试序列;

(2)输入由多个不同频率正弦信号叠加组合而成的模拟信号公式(如式1-1所示)、采样频率(Hz)、采样点数,动态生成该信

号的采样序列,作为测试信号。

100sin(2Πf1t)+100sin(2Πf2t)+…+100sin(2Πfnt)(1-1)2、频率分析

使用FFT对产生的测试信号进行频谱分析并展示其幅频特性及

相频特性,指定需要滤除的频带,通过选择滤波器类型(IIR/FIR),确定对应的滤波器(低通、高通)技术指标。

3、滤波器设计

根据以上技术指标(通带截止频率、通带最大衰减、阻带截止

频率、阻带最小衰减),设计数字滤波器,生成相应的滤波器系

数,并画出对应的滤波器幅频特性与相频特性。

(1)I IR DF设计:可选择滤波器基型(巴特沃斯或切比雪夫);

(2)F IR DF设计:使用窗口法(可选择窗口类型,并比较分析基于不同窗口、不同阶数所设计数字滤波器的特点)。

4、数字滤波

根据设计的滤波器系数,对测试信号进行数字滤波,展示滤波

后信号的幅频特性与相频特性,分析是否满足滤波要求(对同

一滤波要求,对比分析各类滤波器的差异)。

(1)I IR DF:要求通过差分方程迭代实现滤波(未知初值置零处理);

(2)F IR DF:要求通过快速卷积实现滤波(对于长序列,可以选择使用重叠相加或重叠保留法进行卷积运算)。

5、选做内容

将一段语音作为测试信号,通过频谱展示和语音播放,对比分

析滤波前后语音信号的变化,进一步加深对数字信号处理的理

解。

要求:使用MATLAB(或其它开发工具)编程实现上述内容,写出课程设计报告。

二、设计思想和系统功能结构及功能说明

首先输入由多个不同频率正弦信号叠加组合而成的模拟信号公

式、采样频率(Hz)、采样点数,动态生成该信号的采样序列,作为测试信号,然后使用FFT对产生的测试信号进行频谱分析

并展示其幅频特性与相频特性,指定需要滤除的频带,接下来

使用等波纹法FIR低通滤波器进行滤波,最后进行分析,检查

是否满足滤波要求。

三、关键部分的详细描述和介绍,流程图描述关键模块和设计思想

1、信号发生器

输入由多个不同频率正弦信号叠加组合而成的模拟信号公式采

样频率(Hz)、采样点数,动态生成该信号的采样序列,作为测试信号。

代码:

clc,clear; %清除命令窗口的内容,清除工作空间的内容%%%%%%%滤波器参数%%%%%%%%%%%%%%%%%%%%%%% Fp=60; %阻带截止频率

Fs=[50 60]; %通带截止频率

Ft=1000; %采集频率,Ft>2max(f1,f2,f3)

As=30; %阻带最小衰减

Ap=0.5; %通带最大衰减

a=[1 0];

dev=[(10^(Ap/20)-1)/(10^(Ap/20)+1) 10^(-As/20)];

wp=2*pi*Fp; %wp,ws分别为通带频率和截止频率,Ap为通带最大衰减,As阻带最小衰减。

ws=2*pi*Fs;

%%%%%%%输入信号%%%%%%%%%

f1=50;f2=150;f3=250; %输入信号的频率

N=600; %数据长度N=0.6/0.001 =600个点T=1/Ft;n=0:N-1; %采样时间间隔,n是采样点数t=n*T; %时间序列

randn('state',0); %产生一噪声信号

y=100*sin(2*pi*f1*t)+100*sin(2*pi*f2*t)+100*sin(2*pi*f3*t) +0.1*randn(1,N); %输入的时间信号,载入波形

效果图

2、等波纹法FIR低通滤波器

代码

Y=fft(y,1024); %进行快速傅里叶变换,fft(x,N)算N点的DFT。(M为x的点数)若M>N,则将原序列截短为N点序列,再计算其N点DFT;若M

%%%%%FIR低通等波纹滤波器%%%%%%%%

[k,fo,ao,w] = firpmord(Fs,a,dev,Ft);

b = firpm(k,fo,ao,w);

[h,w]=freqz(b,1,1024,Ft); %等号左边输出,右边输入根据参数求出频率响应

figure(3)

subplot('211');

plot(w*Ft*0.5/pi,20*log10(abs(h)));

title('滤波器幅频特性');ylabel('振幅/dB');xlabel('频率/Hz');

subplot('212');

plot(w*Ft*0.5/pi,180/pi*unwrap(angle(h)));

title('滤波器相频特性');ylabel('相位');xlabel('频率/Hz');

z=filter(b,1,y);

m=fft(z,1024); %求滤波后的信号

figure(1)

subplot(4,2,3);

plot(abs(m),'r'); %x轴范围不填就默认。函数的长度

title('滤波后信号的频谱');

grid;%画分割线

subplot(4,2,4);

plot(z,'b');

title('滤波后的信号波形');

grid;

相关文档
最新文档