1、本课程设计共有 4 个题目:课程设计 1 绘制贝塞尔低通原型滤波器的平方幅频和相频图;课程设计 2 设计一个模拟低通 Chebyshev型滤波器;课程设计 3 利用 DFT 分析模拟信号频谱;课程设计 4 离散系统分析。*四个课程设计的详细指导内容:课程设计 1 绘制贝塞尔低通原型滤波器的平方幅频和相频图原理:贝塞尔(Bessel)模拟低通滤波器原型的特点是在零频时具有最平坦的群延迟,并在整个通带内群延迟几乎不变。在零频时的群延迟为 N1!2。由于这一特点,贝塞尔模拟滤波器通带内保持信号形状不变。但数字贝塞尔滤波器没有平坦特性,因此 MATLAB 信号处理工具箱只有模拟贝塞尔滤波器设计函数。函
2、数 BESSELAP 用于贝塞尔模拟低通滤波器原型,调用格式为z,p,k, = besselap(N)其中,N 为滤波器阶数,小于 25;z,p,k 为滤波器零点、极点和增益。滤波器传递函数具有下面形式H(s) = K/(S-P(1)(S-P(2) (S-P(n)滤波器无零点。参考程序: 用 MATLAB 编写程序如下:% MATLAB PROGAM 3-4clf%Bessel analog lowpass filter prototypen = 0:0.01:2;for i = 1:2switch icase 1pos = 1;N = 5;case 2pos = 3;N = 10;endz,
3、p,k = besselap(N);b,a = zp2tf(z,p,k);H,w = freqs(b,a,n);magH2 = (abs(H).2;phaH = unwrap(angle(H);phaH = phaH*180/pi;% Outputposplot = 22,num2str(pos);subplot(posplot)plot(w,magH2);axis(0 2 0 1);xlabel(w/wc);ylabel(Bessel |H(j)|2);title(N=,num2str(N);gridposplot = 22,num2str(pos + 1);subplot(posplot)
4、plot(w,phaH);xlabel(w/wc);ylabel(Bessel PhaseH(j));title(N=,num2str(N);gridend% 程序运行结果如下图所示。显然,在 / C1 内,相频曲线几乎为线形。课程设计 2 设计一个模拟低通 Chebyshev型滤波器设计指标:通带边界频率 wp=200,阻带边界频率 ws=300,通带波纹 1dB,阻带宽衰减16dB,试确定最小阶数 N 和截止频率 wc。参考程序: 用 MATLAB 编程如下:% MATLAB PROGRAM 3-7% Chebyshev lowpass filter% Desired performent
5、swp = 200*pi;ws = 300*pi;Rp = 1;Rs = 16;% Compute Order Nebs = sqrt(10(Rp/10)-1);A = 10(Rs/20);wc = wpwr=ws/wp;g = sqrt(A*A-1)/ebs;N1 = log10(g+sqrt(g*g-1)/log10(wr+sqrt(wr*wr-1);N = ceil(N1);向正无穷取整课程设计 3 利用 DFT 分析模拟信号频谱实验目的 :应用傅里叶变换 DFT,分析各种模拟信号的频谱。实验原理:应用离散傅里叶变换 DFT,通过 Matlab 实现对连续信号频谱分析。1连续周期信号连续
6、周期信号在满足一定条件下,可以通过展开一系列虚指数 的线性叠加:etj0etjkkwXtx0)()(式中 是周期信号的周期, 是基本角频率(通称基频) , 为 次谐频。T0 T00/20k傅里叶级数的系数 按下式求得:)(0kX200)(1Ttjkdtxe是离散频率的复函数,称为频谱函数,可表示为)(0kXkXkj)(000)()(反映了组成周期信号的不同频率谐波分量的幅度随频率变化的特性,即幅频特)(0k性。 反映了不同谐波分量的初相角随频率变化的特性,即相频特性。2连续非周期信号连续非周期信号通过连续时间傅里叶反变换(ICTFT ),可以表达频率为无限密集的虚指数信号 的线性组合,即etj
7、dXtxetj)(21)(其中,频率函数 可按下式求得:Xdttxj)(可见, 是连续频率的复函数,表示每单位带宽内所有谐波分量合成的复振幅。)(可写作 ejX)()(式中 称为幅度频谱, 称为相位频谱。)(X3利用 DFT 计算连续信号的频谱通过积分公式求取复杂的实际信号的频谱函数本身就比较困难,何况在许多情况下只是记录了实际信号的一段波形或数据,而没有对应的解析表达式。若对这些信号进行频谱分析,就必须利用离散傅里叶变换(DFT)。DFT 表征一个在时域为有限长 N 点的序列 经过傅里叶变换到频域成为另一个有)(nx限长序列 :)(kx102NnknNjeX 1,0Nk离散傅里叶反变换(ID
8、FT) 定义为102)()(NiknNjx ,n由于 DFT 变换对时域、频域都是离散的,可以通过计算机实现,因此可以使用 DFT对连续信号进行频谱分析。但必须要对连续信号进行离散化,并且当信号长度为无限长时需要作截短处理。因此恰当地确定取样间隔 T 和相应的长度,是决定 DFT 结果是否符合实际的关键因素。如果不满足取样定理的约束条件,会出现混叠误差:如果截断和选取的长度(就是加窗)不合适,造成频谱扩散使能量和功率产生泄露。DFT 的快速算法 FFT ,可以高速、高效地完成 DFT 运算:连续周期信号的频谱求解步骤:(1) 根据取样定理,确定时域取样间隔 T;(2) 计算一个周期内的取样点
9、N;(3) 使用 FFT 命令作 N 点 FFT 计算,求得 Xk;(4) 最后求得连续周期信号的频谱为 。1)(0kXNk连续非周期信号的求解步骤:(1) 根据取样定理,确定时域取样间隔 T;(2) 确定时域截取的长度 L(或窗函数的点数 M) ;(3) 确定频域取样点数 N,要求 N=M;(4) 使用 FFT 命令做 N 点 FFT 计算 X(K);(5) )()(2kTXXMatlab 提供了 fft 函数,调用格式为:X=fft(x);基 2 时间抽取 fft 算法,用于计算序列 x 的傅里叶变换,当 x 的长度为 2 的整数次幂或者 x 全为实数时,计算的时间会大大缩小。X=fft(
10、x,n);补零或者截短的 n 点傅里叶变换,当 x 的长度小于 n 时,在 x 的尾部补零使 x 的长度达到 n 点;当 x 的长度大于 n 时,将 x 截短使 x 的长度成 n 点;然后对补零或揭短的数据进行快速傅里叶变换。x=ifft(X)和 x=ifft(X,n)为相应的反变换。Fftshift(x)将 fft 计算输出的零频移到输出的中心。实验内容:1 利用 FFT 计算信号 的离散频谱 X(m);利用 FFT)2()(2tutxet计算信号 的离散频谱 X(m);要求:)(2utt1) 确定 DFT 计算的各参数(取样间隔 T ,时域长度为 Tp,频谱分辨率 F 等) ;2) 进行理
11、论值与计算值比较,分析各信号频谱分析的计算精度。2 产生一个淹没在噪声中的信号 x(t),例如由 50Hz 和 120Hz 的正弦信号以及一个零均值的随机噪声叠加而成,确定分析长度和取样速度,计算信号的频谱:计算其功率谱密度并作图,指出 50Hz 和 120Hz 的正弦成分以及噪声;详细列出检测信号的步骤和原理。3 假设一实际测得的一段信号的长度为 0.4 秒,其表达式为)2cos(75.0)2cos()1tttxff其中 , 。为了用 FFT 近似计算信号的频谱,我们Hzf10z2必须对信号进行取样。试确定一合适取样频率 ,用 Matlab 的 fft 函数近似计fs算信号 x(t)的频谱。
12、,计算 的频谱。)2cos(.0)2cos()1tttyff)(ty若使用 Hamming 窗时,由实验确定计算出的频谱能分辨最小谱峰间隔 和信号f长度 的关系。对不同参数的 Kaiser 窗,重新确定频谱分辨最小谱峰间隔TL和信号长度 的关系。fL思考题:(1) 既然可以直接计算 CTFT,为什么利用 DFT 分析连续信号谱?(2) 若信号持续时间无限,且无解析表达式,如何利用 DFT 分析其频谱?(3) 在利用 DFT 分析连续信号频谱时,会出现哪些误差?如何克服或减弱?(4) 如何选择取样频率?(5) 讨论补零对计算结果的影响。(6) 窗函数对频谱分辨率有何影响吗?怎样提高频谱分辨率?课
13、程设计 4 离散系统分析实验原理:离散 LTI 系统可用系统函数的分子分母多项式形式、零极点-增益或状态空间形式来描述。(1)系统函数 的分子分母多项式形式)(zH)()1()1()(101 MnxnxnxNyNyn bbbaaM对上式两边同取 z 变换,可得;)()( )1(10 zaXYzHzNNmM 在 Matlab 中可使用向量 和向量 分别保存,11a ,110Mb分子多项式和分母多项式的系数,注意从 按 z 的降幂排列其系数。0(2)系统函数 的零极点-增益(zeros-poles-gain) 形式)(zH)1()1)() 12zpzprrmKabZ R 零点(zeros):p 极
14、点(poles):K 为增益,是个常数。在 Matlab 中使用向量 和向量 分别保存零极点。,21mr ,21n1 离散系统响应的求解除可以使用 Matlab 命令 lsim 求解外,还可以使用命令 filter 来求解系统响应。例 1已知系统函数为 ,求zzzH2111 .04.)6.0)(2.() (1)系统的脉冲响应 ;nh(2)输入 ,求系统的零状态响应 ;)(ux)(ny(3)输入 ,初始条件 , 求系统的完全响应1)(2)(ny解(1)计算前 11 个时刻的 )(nh%N=11;b=1,2;a=1,0.4,-0.12;impz(b,a)%x=1,zeros(1,N-1);%y=f
15、ilter(b,a,x)(2) 计算前 11 个时刻的零状态响应 )(nyN=11;b=1,2;a=1,0.4,-0.12;x=ones(1,N);y=filter(b,a,x)(3) 计算前 11 个时刻的完全响应 )(ny注意 filter(b,a,x,zi)中的初始 zi 不是 , ,它可以用命令 filtic 来求得。12)(yN=11;b=1,2;a=1,0.4,-0.12;x=ones(1,N);zi=filtic(b,a,1,2);y=filter(b,a,x,zi);2 离散系统函数的零极点对系统领域特性的影响离散因果 LTI 连续系统的系统函数 的极点全部位于 z 平面单位圆时,系统的频响)(zH特性 可由 求出,即)(ejH)(zejjzjej )(使用命令 freqz(b,a)可计算系统的频率特性 。)jH例 2已知某系统的系统函数为 ,求系统的幅频 。zz215.0)( )(ejH解 b=1,1;a=1,-1,0.5;H,w=freqz(b,a);plot(w,abs(H)xlabe(Frequency(rad);ylabel(Magnitude);title(Magnitude response);由下图可见,系统的零点 迫使高频处 的幅频响应的幅度很小。ejz1系统的幅频特性