生医《数字信号处理》期末大作业
20
1
5
/
1
1
/
18
一、
设计FIR带阻滤波器
(一)、试验数据的产生
分别产生两个高斯分布、零均值的白噪声数据
和
,其功率都为
,让
和
分别通过一个
FIR
系统,可
得到输出
和
,令
在
上再加上四个复正弦信号,幅度分别为
,归一化频率分别是
这样可得到已知的试验信号
。该FIR系统由5个FIR子系统级联而成:
1. 画出该FIR系统的归一化对数幅频响应,离散谱的分点数
;
(归一化是指所有的数据被最大值去除,因此最大值处为零dB)
写出得到
的计算过程。令所得到的数据长度
,描绘该波形(实部和虚部),并存储之;
答:分析题意可将解题步骤分为以下几步:
第一步:用randn()函数产生均值为零,功率为0.1(即方差为0.1)的高斯分布的白噪声
,
clear;
u0=randn(1,500000);
%调用randn,得到均匀分布的伪随机数u0(n);
u0=u0*sqrt(0.1);
%sqrt(p)是伸缩系数;
power_u0=var(u0);
%求u0的方差;
subplot(2,1,1);
%将当前绘图窗口分为2行1列,绘制第1副子图;
plot(u0(1:200));
%画连续曲线,采用u0(1)到u(200)这200个点;
grid
on
;
%给绘图窗口加网格;
xlabel(
'n'
);
%定义x轴坐标为n;
ylabel(
'x(n)'
);
%定义y轴坐标为x(n);
u1=randn(1,500000);
u1=u1*sqrt(0.1);
power_u1=var(u1);
subplot(2,1,2);
plot(u1(1:200));
grid
on
;
xlabel(
'n'
);
ylabel(
'x(n)'
);
图
1
两个高斯分布的白噪声
第二步:
和
通过由5个FIR子系统(
)级联而成的FIR系统,得到输出
,令
,在
上加四个已知幅度(
)和归一化频率(
)的复正弦信号,得到已知的试验信号
。
分析可得:由已知的5个FIR子系统的
,可知系统的
,从而得到总的FIR系统的系统函数
, 最终的试验信号
,求幅频响应则调用freqz()函数。
clear;
clf;
%清除当前绘图窗口的图形;
b1=[1,1.98,0.9801];
%FIR子系统b1;
b2=[1,-1.98,0.9801];
%FIR子系统b2;
h1=conv(b1,b2);
%因b1,b2系统级联,求b1与b2的卷积;
b3=[1,-1.8418,0.9801];
h2=conv(h1,b3);
b4=[1,-1.5,0.9801];
h3=conv(h2,b4);
b5=[1,-1.2727,0.9801];
h=conv(h3,b5);
[H,w]=freqz(h,1,4096,
'whole'
,1);
%求系统的频率响应,w是返回频率轴坐标向量;
%频率轴的分点数N=4096,'whole'指定计算的频率范围是从0到Fs=1;
%Fs是抽样频率,Fs=1,频率轴给出归一化频率;
H=abs(H);