一、 目的与要求。
1. 掌握《数字信号处理基础》课程的基本理论;
2. 掌握应用matlab进行数字信号处理的程序设计方法。
二、 主要内容。
设计题目及设计要求:
已知低通数字滤波器的性能指标如下:,
1. 选择合适的窗函数,设计满足上述指标的数字线性相位fir低通滤波器。用一个图形窗口,包括四个子图,分析显示滤波器的单位冲激响应、相频响应、幅频响应和以db为纵坐标的幅频响应曲线。
2. 用双线性变换法,设计满足上述指标的数字chebyshev i型低通滤波器。用一个图形窗口,包括三个子图,分析显示滤波器的幅频响应、以db为纵坐标的幅频响应和相频响应。
3. 已知模拟信号。
其中,,,取采样频率。
1) 以对进行取样,得到。用一个图形窗口,包括两个子图,分别显示以及()的波形;
2) 用fft对进行谱分析,要求频率分辨率不超过5hz。求出一个记录长度中的最少点数,并用一个图形窗口,包括两个子图,分别显示以及的幅值;
3) 用要求1中设计的线性相位低通数字滤波器对进行滤波,求出滤波器的输出,并用fft对进行谱分析,要求频率分辨率不超过5hz。求出一个记录长度中的最少点数,并用一个图形窗口,包括四个子图,分别显示()、和的幅值;
4) 用要求2中设计的chebyshev低通数字滤波器对进行滤波,求出滤波器的输出,并用fft对进行谱分析,要求频率分辨率不超过5hz。求出一个记录长度中的最少点数,并用一个图形窗口,包括四个子图,分别显示()、和的幅值。
三、 设计思路。
1)窗函数设计数字线性相位fir低通滤波器。
1、根据设计给出的技术指标,计算允许的过渡带宽度及阻带衰减,初步选择窗函数和n值。
2、若选用理想低通逼近,则计算积分,求出理想低通的冲激响应hd(n);理想低通的截止频率选择为wc=(ws+wp)/2,hd(n)=sin[wc(n-a)]/pi*n-a);
3、将hd(n)与窗函数相乘的fir数字滤波器的冲激响应h(n):h(n)=hd(n)w(n)
4、计算fir数字滤波器的频率响应,并验证是否达到所要求的指标。
2)双线性变换法设计的数字chebyshev i型低通滤波器。
1、根据设计给出的数字滤波器的技术指标,计算模拟原型低通的指标。
2、模拟切比雪夫1型滤波器的计算,利用function[b,a]=afd_cheb1(wp,ws,rp,as)
进行切比雪夫1型模拟滤波器的设计;利用function[b,a]=cheb1ap_o(n,rp,omega)
非归一化的切比雪夫1型模拟原型低通滤波器的设计。
3、双线性变换法将ha(s)转换为h(z)
4、直接型转换为级联型,计算数字滤波器的频率响应,并验证是否达到所要求的指标。
3)模拟信号的波形产生和采样及fft频谱分析和fir滤波及iir滤波。
n:一个记录长度中的取样数。
f:频率分辨率 fs:采样周期。
最小记录长度的选择:由 tp=nt=1/f可知,给定抽样频率和频率分辨率后,就可以得出最小记录长度 n=fs/f
fft(x):计算n点的dft,n是序列的长度。
fft(x,l):计算l点的dft,若n>l,则将原序列截短为l点的序列,再计算其l点的dft;若nifft(x):计算n点的idft,n是频域序列的长度。
ifft(x,l):计算l点的idft,若n>l,则将原序列截短为l点的序列,再计算其l点的idft;若n 为了提高fft和ifft的计算效率,应尽量使序列长度n为2的幂次方,或将序列补零使其长度为2的幂次方。
filter(b,a,x):可采用此函数给出滤波器的输出。
b=h(z)的分子多项式系数(对fir b=h)
a=h(z)的分母多项式系数(对fir a=[1])
三、程序**。
1、主程序**。
一、数字线性相位fir低通滤波器。
wp=0.26*pi;ws=0.41*pi;as=50;%数字滤波器的指标。
tr_width=ws-wp;%过渡带宽。
fprintf(' * 哈明窗函数设计的滤波器各参数如下:%2.0f');
n=ceil(6.6*pi/tr_width)+1
n=[0:1:n-1];
wc=(ws+wp)/2;%理想低通的截止频率。
hd=ideal_lp(wc,n);%理想低通的冲激响应。
w_ham=(hamming(n))'哈明窗的窗函数。
h=hd.*w_ ham %fir滤波器的冲激响应。
db,mag,pha,grd,w]=freqz_m(h,[1]);
delta_w=2*pi/1000;
rp=-(min(db(1:1:wp/delta_w+1)))实际的通带衰减。
as=-round(max(db(ws/delta_w+1:1:501)))实际的最小阻带衰减。
figure(1)% 分别显示滤波器的单位冲激响应、相频响应、幅频响应和以db为纵坐标的幅频响应曲线。
subplot(2,2,1);stem(n,hd);ylabel('hd(n)')xlabel('n');
title('单位冲激响应');grid;axis([0 45 -0.1 0.5]);
subplot(2,2,2);plot(w/pi,mag);ylabel('|幅度|')xlabel('以\pi为单位的频率');
title('幅度响应');grid;axis([0 1.5 -0.5 1.5]);
subplot(2,2,3);plot(w/pi,db);ylabel('对数幅度/db');xlabel('以\pi为单位的频率');
title('幅度响应(db)')grid;axis([0 1.5 -160 0]);
subplot(2,2,4);plot(w/pi,pha);ylabel('相位');xlabel('以\pi为单位的频率');
title('相位响应');grid;axis([0 1 -4 4]);
二、双线性变换法设计数字切比雪夫i型低通滤波器。
wp=0.26*pi;ws=0.41*pi;rp=0.75;as=50;
t=1;fs=1/t;omegap=(2/t)*tan(wp/2);omegas=(2/t)*tan(ws/2);%转换为模拟滤波器的指标。
cs,ds]=afd_cheb1(omegap,omegas,rp,as);%模拟切比雪夫i型低通滤波器的计算。
b,a]=bilinear(cs,ds,t);%双线性变换法。
c,b,a]=dir2cas(b,a)%iid df 直接型到级联型的转换函数。
db,mag,pha,grd,w]=freqz_m(b,a);%计算数字滤波器的频率响应。
figure(2) %分别显示数字切比雪夫i型低通滤波器的幅频响应、以db为纵坐标的幅频响应和相频响应。
subplot(3,1,1);plot(w/pi,mag);ylabel('|幅度|')xlabel('以\pi为单位的频率');
title('幅度响应');grid;
axis([0 0.8 -0.5 1.1]);
subplot(3,1,2);plot(w/pi,db);title('以db为单位的幅度响应');grid;
ylabel('对数幅度/db');xlabel('以\pi为单位的频率');
axis([0,1.5 -400 10]);
subplot(3,1,3);plot(w/pi,pha);ylabel('相位');xlabel('以\pi为单位的频率');
title('相位响应');grid;axis([0 1.2 -4 4]);
三(1)、以对xt进行抽样,得到xn
n=0:1:511;fs=10000;t=0:0.000001:10;
xt=2*sin(2*pi*120*t)+5*sin(2*pi*4980*t)+8*cos(2*pi*3250*t)+7.5*cos(2*pi*1150*t);
t=1/fs;t0=n*t;%时间离散化。
xn=2*sin(240*pi*t0)+5*sin(2*4980*pi*t0)+8*cos(2*pi*3250*t0)+7.5*cos(2*pi*1150*t0);
figure(3)%显示以及()的波形;
subplot(2,1,1);stem(n,xn);title('xn');grid;ylabel('xn');xlabel('n');axis([0 1000 -25 25])
subplot(2,1,2);plot(t,xt);title('xt曲线');grid;ylabel('xt');xlabel('t');axis([0 0.01 -25 25]);
三(2)、对xn(0<=n<=nx-1)进行fft变换求xk,对xn进行谱分析。
f=5;nx=fs/f;t=1/fs;n=0:nx-1;t0=n*t;
xn=2*sin(240*pi*t0)+5*sin(2*4980*pi*t0)+8*cos(2*pi*3250*t0)+7.5*cos(2*pi*1150*t0);
fprintf(' * 直接fft时一个记录长度最小点数nx=%2.0f',nx);
k=0:nx-1;
xk=fft(xn);
magx=abs(xk);%phax=angle(xk)
figure(4)% 显示以及的幅值;
subplot(2,1,1);stem(n,xn);title('xn');grid;
ylabel('xn');xlabel('n');axis([0 200 -25 25]);
MATLAB课程设计
1 求被控对象传递函数g s 的matlab描述。num 789 6312 11835 den 1 14 56 64 0 0 gs tf num,den transfer function 789 s 2 6312 s 11835 s 5 14 s 4 56 s 3 64 s 2 2 求被控对象脉冲...
MATLAB课程设计
课程设计。题目 matlab计算器。姓名 班级 学院 专业 完成时间。1总体设计。该计算器程序主要是matlab来制作,界面主要由四个静态文本框 21个运算按钮和两个动态文本框组成。实现的运算功能有四则运算 加 减 乘 除。而且添加了括号使人们使用时更加简单。这些计算功能主要调用了matlab的自定...
MATLAB课程设计
matlab课程设计。如图所示,为测量系统的示意图,它由两个能相互转动的连杆,角度编码器和滚轮等组成。o1为固定点,o2点为转动点,o3点为滚轮的中心,连杆的有效长度分别为l1和l2。任一位置时,连杆1相对于某基准位置的角度为 1,两连杆的相对角度为 2。其中对于 1,取垂直方向为基准线,在基准线左...