哈工大 试方法与数字信号分析处理 作业一.docVIP

  • 16
  • 0
  • 约3.44千字
  • 约 7页
  • 2018-11-02 发布于浙江
  • 举报

哈工大 试方法与数字信号分析处理 作业一.doc

哈工大 试方法与数字信号分析处理 作业一

PAGE PAGE 7 题目: (1) 给定数字信号: x(t)=sin(20*pi*t)+sin(100*pi*t)+sin(400*pi*t); 即该信号由10HZ,50HZ,200HZ。三个正弦信号合成。 要求: 绘出上述给定数字信号的曲线x(t)。 低通滤波练习: 分别用FIR、IIR滤波器滤去50Hz、200Hz信号,保留10Hz信号; 绘出滤波前和滤波后的信号曲线,并做对比; 滤波过程中的问题讨论。 带通滤波练习: 用FIR滤波器滤去10Hz、200Hz信号,保留50Hz信号; 绘出滤波前和滤波后的信号曲线,并做对比; 滤波过程中的问题讨论。 (2) 给定数字信号: X(t)=sin(2*pi*10*t)+sin(2*pi*50*t)+sin(2*pi*200*t)+0.6*randn(1,N) 即在原信号上叠加上一个白噪声信号。 要求: 绘出上述给定数字信号的曲线x(t)。 分别用低通滤波器和带通滤波器(FIR、IIR任选)滤波、绘曲线对比、讨论。 注: 本次作业要求使用我们课上(§3-3、 §3-4)所推导的滤波器(公式)滤波; 不许使用MATLAB中的滤波函数。 数字信号为:x(t)=sin(20*pi*t)+sin(100*pi*t)+sin(400*pi*t);时 因为,最大频率为200HZ,故由采样定理dt=1/2*f max,可得dt=0.0025s,取 dt=0.0003s,满足采样定理。 (1)绘出x(t)图像: Matlab代码: clear all t=0:0.0005:0.6; t1=0.0005; F=15; N=1201; x=sin(2*pi*10*t)+sin(2*pi*50*t)+sin(2*pi*200*t); x1=sin(2*pi*10*t); plot(t,x,b); 图形如下: 图1 原始信号图像 (2)低通滤波练习: 1.FIR滤波器: Matlab代码: clear all t=0:0.0005:0.6; t1=0.0005; F=15; x=sin(2*pi*10*t)+sin(2*pi*50*t)+sin(2*pi*200*t); x1=sin(2*pi*10*t); y(1201)=0; for k=50:1100 for i=-20:20 if i==0 fi=2*F*t1; else fi=sin(2*pi*F*i*t1)/pi/i; end y(k)=y(k)+fi*x(k-i); end end plot(t,x1,k,t,x,b,t,y,r); 图像如下: 图2 FIR低通滤波信号图像 图3 FIR低通滤波信号图像i=-30:30,k=70:1100时 分析讨论: 由图可以看出,原始图像有正弦信号叠加后十分混乱,滤波后基本滤出了10HZ的信号,设计滤波器时,通过改变N1和N2以及采样的数量来生成不同的滤波后图像,最终选择了如上代码中的数值。 2.IIR滤波器: Matlab代码: clear all t=0:0.0005:0.6; x=sin(2*pi*10*t)+sin(2*pi*50*t)+sin(2*pi*200*t); x1=sin(2*pi*10*t); w=tan(pi*30*0.0005);%求二阶滤波器系数 f0=(w*w)/(1+(2^0.5)*w+w*w); f1=2*f0; f2=(w*w)/(1+(2^0.5)*w+w*w); g1=(-2*(1-w*w))/(1+(2^0.5)*w+w*w); g2=(1-(2^0.5)*w+w*w)/(1+(2^0.5)*w+w*w); y(1201)=0; for i=1:3 %用二阶滤波器滤波三次 for k=3:1200 y(k)=f0*x(k)+f1*x(k-1)+f2*x(k-2)-g1*y(k-1)-g2*y(k-2); end x=y; end y=x; x=sin(2*pi*10*t)+sin(2*pi*50*t)+sin(2*pi*200*t); plot(t,x1,k,t,x,b,t,y,r); 图像如下: 图4 IIR低通滤波信号图像,阶数=8时 图5 IIR低通滤波信号图像,阶数=4时 图6 IIR低通滤波信号图像,阶数=2时 分析讨论: 阶数在2阶时严重失真,阶数在4阶时稍有好转,而阶数等于8时,滤波效果较好,但有些滞后, 所以考虑滤波阶数不能太高或太低。 (2)带通滤波练习: 使用FIR滤波器滤波: Matlab代码: clea

文档评论(0)

1亿VIP精品文档

相关文档