正正MATLAB课程设计

发布 2022-10-01 02:01:28 阅读 3209

一、 目的与要求。

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,取垂直方向为基准线,在基准线左...