数字信号处理实验指导吴镇扬
- 格式:doc
- 大小:333.00 KB
- 文档页数:20
数字信号处理实验指导吴镇扬实验一快速Fourier变换(FFT)及其应用一、实验目的1.在理论学习的基础上,通过本实验,加深对FFT的理解,熟悉FFT子程序。
2.熟悉应用FFT对典型信号进行频谱分析的方法。
3. 了解应用FFT进行信号频谱分析过程中可能出现的问题以便在实际中正确应用FFT。
4.熟悉应用FFT实现两个序列的线性卷积的方法。
5.初步了解用周期图法作随机信号谱分析的方法。
返回页首二、实验原理与方法在各种信号序列中,有限长序列信号处理占有很重要地位,对有限长序列,我们可以使用离散Fouier变换(DFT)。
这一变换不但可以很好的反映序列的频谱特性,而且易于用快速算法在计算机上实现,当序列x(n)的长度为N时,它的DFT定义为:反变换为:有限长序列的DFT是其Z变换在单位圆上的等距采样,或者说是序列Fourier 变换的等距采样,因此可以用于序列的谱分析。
FFT并不是与DFT不同的另一种变换,而是为了减少DFT运算次数的一种快速算法。
它是对变换式进行一次次分解,使其成为若干小点数的组合,从而减少运算量。
常用的FFT是以2为基数的,其长度。
它的效率高,程序简单,使用非常方便,当要变换的序列长度不等于2的整数次方时,为了使用以2为基数的FFT,可以用末位补零的方法,使其长度延长至2的整数次方。
(一)、在运用DFT进行频谱分析的过程中可能产生三种误差:(1)混叠序列的频谱时被采样信号的周期延拓,当采样速率不满足Nyquist定理时,就会发生频谱混叠,使得采样后的信号序列频谱不能真实的反映原信号的频谱。
避免混叠现象的唯一方法是保证采样速率足够高,使频谱混叠现象不致出现,即在确定采样频率之前,必须对频谱的性质有所了解,在一般情况下,为了保证高于折叠频率的分量不会出现,在采样前,先用低通模拟滤波器对信号进行滤波。
(2)泄漏实际中我们往往用截短的序列来近似很长的甚至是无限长的序列,这样可以使用较短的DFT来对信号进行频谱分析,这种截短等价于给原信号序列乘以一个矩形窗函数,也相当于在频域将信号的频谱和矩形窗函数的频谱卷积,所得的频谱是原序列频谱的扩展。
(1) 观察高斯序列的时域和幅频特性,固定信号)(n x a 中参数p=8,改变q 的值,使q 分别等于2、4、8,观察他们的时域和幅频特性,了解当q 取不同值时,对信号序列的时域和幅频特性的影响;固定q=8,改变p,使p 分别等于8、13、14,观察参数p 变化对信号序列的时域和幅频特性的影响,注意p 等于多少时会发生明显的泄漏现象,混叠是否也随之出现?记录实验中观察到的现象,绘出相应的时域序列和幅频特性曲线。
()()⎪⎩⎪⎨⎧≤≤=-其他0150,2n e n x q p n a解:程序见附录程序一:P=8,q 变化时:t/T x a (n )k X a (k )t/T x a (n )p=8 q=4k X a (k )p=8 q=4t/Tx a (n )p=8 q=8kX a (k )p=8 q=8幅频特性时域特性t/T x a (n )p=8 q=8k X a (k )p=8 q=8t/T x a (n )51015k X a (k )p=13 q=8t/Tx a (n )p=14 q=851015kX a (k )p=14 q=8时域特性幅频特性分析:由高斯序列表达式知n=p 为期对称轴; 当p 取固定值时,时域图都关于n=8对称截取长度为周期的整数倍,没有发生明显的泄漏现象;但存在混叠,当q 由2增加至8过程中,时域图形变化越来越平缓,中间包络越来越大,可能函数周期开始增加,频率降低,渐渐小于fs/2,混叠减弱;当q 值固定不变,p 变化时,时域对称中轴右移,截取的时域长度渐渐地不再是周期的整数倍,开始无法代表一个周期,泄漏现象也来越明显,因而图形越来越偏离真实值,p=14时的泄漏现象最为明显,混叠可能也随之出现;(2) 观察衰减正弦序列 的时域和幅频特性,a=0.1,f=0.0625,检查谱峰出现的位置是否正确,注意频谱的形状,绘出幅频特性曲线,改变f ,使f 分别等于0.4375和0.5625,观察这两种情况下,频谱的形状和谱峰出现的位置,有无混叠和泄漏现象?说明产生现象的原因。
实验三 IIR 数字滤波器的设计通信四班 朱方方 0806020233(1)kHz f c 3.0=,dB 8.0=δ,kHz f r 2.0=,dB At 20=,ms T 1=;设计一切比雪夫高通滤波器,观察其通带损耗和阻带衰减是否满足要求。
解: 程序: clear;fc=300;fr=200;fs=1000;rp=0.8;rs=20; wc=2*fs*tan(2*pi*fc/(2*fs)); wt=2*fs*tan(2*pi*fr/(2*fs)); [N,wn]=cheb1ord(wc,wt,rp,rs,'s'); [B,A]=cheby1(N,rp,wn,'high','s'); [bz,az]=bilinear(B,A,fs); [h,w]=freqz(bz,az);f=w*fs/(2*pi);plot(f,20*log10(abs(h))); axis([0,fs/2,-80,10]); grid;xlabel('频率/Hz'); ylabel('幅度/dB');050100150200250300350400450500-80-70-60-50-40-30-20-10010频率/Hz幅度/d B分析:f=200Hz 时阻带衰减大于30dB ,通过修改axis([0,fs/2,-80,10])为axis([200,fs/2,-1,1])发现通带波动rs 满足<0.8。
bz =[0.0262 -0.1047 0.1570 -0.1047 0.0262] az =[1.0000 1.5289 1.6537 0.9452 0.2796] 系统函数为:432143212796.09452.06537.15289.110262.01047.01570.01047.0-0262.0)(H --------+++++-+=z z z z z z z z z(2)kHz f c 2.0=,dB 1=δ,kHz f r 3.0=,dB At 25=,ms T 1=;分别用脉冲响应不变法及双线性变换法设计一巴特沃思数字低通滤波器,观察所设计数字滤波器的幅频特性曲线,记录带宽和衰减量,检查是否满足要求。
实验四 有限长单位脉冲响应滤波器设计朱方方 03 通信四班(1) 设计一个线性相位FIR 高通滤波器,通带边界频率为π,阻带边界频率为π,阻带衰减不小于40dB 。
要求给出h(n)的解析式,并用MATLAB 绘出时域波形和幅频特性。
解:(1)求数字边界频率:0.6 , 0.4c r ωπωπ== (2)求理想滤波器的边界频率:0.5n ωπ=(3)求理想单位脉冲响应:[]d sin ()sin[()]()()1n n n n n n h n n παωααπαωαπ⎧---≠⎪⎪-=⎨⎪-=⎪⎩(4) 选择窗函数。
阻带最小衰减为-40dB ,因此选择海明窗(其阻带最小衰减为-44dB);滤波器的过渡带宽为ππ=π,因此6.210.231 , 152N N N ππα-=⇒=== (5) 求FIR 滤波器的单位脉冲响应h(n):[]31d sin (15)sin[0.5(15)]1cos ()15()()()15(15)115n n n R n n h n w n h n n n ππππ⎧---⎡⎤⎛⎫-⋅⋅≠⎪ ⎪⎢⎥==-⎝⎭⎨⎣⎦⎪=⎩程序:clear;N=31; n=0:N-1;hd=(sin(pi*(n-15))-sin*pi*(n-15)))./(pi*(n-15)); hd(16)=; win=hanning(N); h=win'.*hd;figure; stem(n,h);xlabel('n'); ylabel('h(n)'); grid;title('FIR 高通滤波单位脉冲响应h(n)'); [H,w]=freqz(h,1); H=20*log10(abs(H)); figure;3plot(w/pi,H);axis([0 1 -100 10]);xlabel('\omega/\pi'); ylabel('幅度/dB');grid;title('FIR 高通滤波器,hanning 窗,N=31');51015202530nh (n )FIR 高通滤波器的单位脉冲响应h(n)0.10.20.30.40.50.60.70.80.91-100-90-80-70-60-50-40-30-20-10010ω/π幅度/d BFIR 高通滤波器,hanning 窗,N=31分析:由图知阻带衰减最小值大于40,满足要求。
(1) 观察高斯序列的时域和幅频特性,固定信号)(n x a 中参数p=8,改变q 的值,使q 分别等于2、4、8,观察他们的时域和幅频特性,了解当q 取不同值时,对信号序列的时域和幅频特性的影响;固定q=8,改变p,使p 分别等于8、13、14,观察参数p 变化对信号序列的时域和幅频特性的影响,注意p 等于多少时会发生明显的泄漏现象,混叠是否也随之出现?记录实验中观察到的现象,绘出相应的时域序列和幅频特性曲线。
()()⎪⎩⎪⎨⎧≤≤=-其他0150,2n e n x q p n a解:程序见附录程序一:P=8,q 变化时:t/T x a (n )p=8 q=2k X a (k )t/T x a (n )p=8 q=4k X a (k )p=8 q=4t/Tx a (n )p=8 q=8kX a (k )p=8 q=8幅频特性时域特性t/T x a (n )p=8 q=8k X a (k )p=8 q=8t/T x a (n )p=13 q=851015k X a (k )p=13 q=8t/Tx a (n )p=14 q=851015kX a (k )p=14 q=8时域特性幅频特性分析:由高斯序列表达式知n=p 为期对称轴; 当p 取固定值时,时域图都关于n=8对称截取长度为周期的整数倍,没有发生明显的泄漏现象;但存在混叠,当q 由2增加至8过程中,时域图形变化越来越平缓,中间包络越来越大,可能函数周期开始增加,频率降低,渐渐小于fs/2,混叠减弱;当q 值固定不变,p 变化时,时域对称中轴右移,截取的时域长度渐渐地不再是周期的整数倍,开始无法代表一个周期,泄漏现象也来越明显,因而图形越来越偏离真实值,p=14时的泄漏现象最为明显,混叠可能也随之出现;(2) 观察衰减正弦序列 的时域和幅频特性,a=0.1,f=0.0625,检查谱峰出现的位置是否正确,注意频谱的形状,绘出幅频特性曲线,改变f ,使f 分别等于0.4375和0.5625,观察这两种情况下,频谱的形状和谱峰出现的位置,有无混叠和泄漏现象?说明产生现象的原因。
数字信号处理实验报告实验一熟悉MATLAB环境实验二信号的采样与重建实验三快速变换及其应用实验四 IIR数字滤波器的设计实验五 FIR数字滤波器的设计实验一熟悉MATLAB环境一、实验目的(1)熟悉MATLAB的主要操作命令。
(2)学会简单的矩阵输入和数据读写。
(3)掌握简单的绘图命令。
(4)用MATLAB编程并学会创建函数。
(5)观察离散系统的频率响应。
二、实验内容认真阅读本章附录,在MATLAB环境下重新做一遍附录中的例子,体会各条命令的含义。
在熟悉了MATLAB基本命令的基础上,完成以下实验。
上机实验内容:(1)数组的加、减、乘、除和乘方运算。
输入A=[1 2 3 4],B=[3 4 5 6],求C=A+B,D=A-B,E=A.*B,F=A./B,G=A.^B并用stem语句画出A、B、C、D、E、F、G。
实验程序:A=[1 2 3 4];B=[3 4 5 6];n=1:4;C=A+B;D=A-B;E=A.*B;F=A./B;G=A.^B;subplot(4,2,1);stem(n,A,'fill');xlabel ('时间序列n');ylabel('A');subplot(4,2,2);stem(n,B,'fill');xlabel ('时间序列n ');ylabel('B');subplot(4,2,3);stem(n,C,'fill');xlabel ('时间序列n ');ylabel('A+B');subplot(4,2,4);stem(n,D,'fill');xlabel ('时间序列n ');ylabel('A-B');subplot(4,2,5);stem(n,E,'fill');xlabel ('时间序列n ');ylabel('A.*B');subplot(4,2,6);stem(n,F,'fill');xlabel ('时间序列n ');ylabel('A./B');subplot(4,2,7);stem(n,G,'fill');xlabel ('时间序列n ');ylabel('A.^B');运行结果:(2)用MATLAB实现以下序列。
实验一快速Fourier变换(FFT)及其应用一、实验目的1.在理论学习的基础上,通过本实验,加深对FFT的理解,熟悉FFT子程序。
2.熟悉应用FFT对典型信号进行频谱分析的方法。
3. 了解应用FFT进行信号频谱分析过程中可能出现的问题以便在实际中正确应用FFT。
4.熟悉应用FFT实现两个序列的线性卷积的方法。
5.初步了解用周期图法作随机信号谱分析的方法。
返回页首二、实验原理与方法在各种信号序列中,有限长序列信号处理占有很重要地位,对有限长序列,我们可以使用离散Fouier变换(DFT)。
这一变换不但可以很好的反映序列的频谱特性,而且易于用快速算法在计算机上实现,当序列x(n)的长度为N时,它的DFT定义为:反变换为:有限长序列的DFT是其Z变换在单位圆上的等距采样,或者说是序列Fourier 变换的等距采样,因此可以用于序列的谱分析。
FFT并不是与DFT不同的另一种变换,而是为了减少DFT运算次数的一种快速算法。
它是对变换式进行一次次分解,使其成为若干小点数的组合,从而减少运算量。
常用的FFT是以2为基数的,其长度。
它的效率高,程序简单,使用非常方便,当要变换的序列长度不等于2的整数次方时,为了使用以2为基数的FFT,可以用末位补零的方法,使其长度延长至2的整数次方。
(一)、在运用DFT进行频谱分析的过程中可能产生三种误差:(1)混叠序列的频谱时被采样信号的周期延拓,当采样速率不满足Nyquist定理时,就会发生频谱混叠,使得采样后的信号序列频谱不能真实的反映原信号的频谱。
避免混叠现象的唯一方法是保证采样速率足够高,使频谱混叠现象不致出现,即在确定采样频率之前,必须对频谱的性质有所了解,在一般情况下,为了保证高于折叠频率的分量不会出现,在采样前,先用低通模拟滤波器对信号进行滤波。
(2)泄漏实际中我们往往用截短的序列来近似很长的甚至是无限长的序列,这样可以使用较短的DFT来对信号进行频谱分析,这种截短等价于给原信号序列乘以一个矩形窗函数,也相当于在频域将信号的频谱和矩形窗函数的频谱卷积,所得的频谱是原序列频谱的扩展。
泄漏不能与混叠完全分开,因为泄漏导致频谱的扩展,从而造成混叠。
为了减少泄漏的影响,可以选择适当的窗函数使频谱的扩散减至最小。
(3)栅栏效应DFT是对单位圆上Z变换的均匀采样,所以它不可能将频谱视为一个连续函数,就一定意义上看,用DFT来观察频谱就好像通过一个栅栏来观看一个图景一样,只能在离散点上看到真实的频谱,这样就有可能发生一些频谱的峰点或谷点被“尖桩的栅栏”所拦住,不能别我们观察到。
减小栅栏效应的一个方法就是借助于在原序列的末端填补一些零值,从而变动DFT的点数,这一方法实际上是人为地改变了对真实频谱采样的点数和位置,相当于搬动了每一根“尖桩栅栏”的位置,从而使得频谱的峰点或谷点暴露出来。
(二)、用FFT计算线性卷积用FFT可以实现两个序列的圆周卷积。
在一定的条件下,可以使圆周卷积等于线性卷积。
一般情况,设两个序列的长度分别为N1和N2,要使圆周卷积等于线性卷积的充要条件是FFT的长度N≥N1+N2对于长度不足N的两个序列,分别将他们补零延长到N。
当两个序列中有一个序列比较长的时候,我们可以采用分段卷积的方法。
有两种方法:∙重叠相加法。
将长序列分成与短序列相仿的片段,分别用FFT对它们作线性卷积,再将分段卷积各段重叠的部分相加构成总的卷积输出。
∙重叠保留法。
这种方法在长序列分段时,段与段之间保留有互相重叠的部分,在构成总的卷积输出时只需将各段线性卷积部分直接连接起来,省掉了输出段的直接相加。
(三)、用周期图法(平滑周期图的平均法)对随机信号作谱分析实际中许多信号往往既不具有有限能量,由非周期性的。
无限能量信号的基本概念是随机过程,也就是说无限能量信号是一随机信号。
周期图法是随机信号作谱分析的一种方法,它特别适用于用FFT直接计算功率谱的估值。
将长度为N的实平稳随机序列的样本x(n)再次分割成K段,每段长度为L,即L=N/K。
每段序列仍可表示为:(n)=x(n+(i-1)L),0≤n≤L-1,1≤i≤Kxi(n)加权,K个修正但是这里在计算周期图之前,先用窗函数w(n)给每段序列xi的周期图定义为其中U表示窗口序列的能量,它等于在此情况下,功率谱估计量可表示为返回页首三、实验内容及步骤实验中用到的信号序列:a)Gaussian序列b)衰减正弦序列c)三角波序列d)反三角波序列上机实验内容:(1)、观察高斯序列的时域和幅频特性,固定信号x a(n)中参数p=8,改变q 的值,使q分别等于2,4,8,观察它们的时域和幅频特性,了解当q取不同值时,对信号序列的时域幅频特性的影响;固定q=8,改变p,使p分别等于8,13,14,观察参数p变化对信号序列的时域及幅频特性的影响,观察p等于多少时,会发生明显的泄漏现象,混叠是否也随之出现?记录实验中观察到的现象,绘出相应的时域序列和幅频特性曲线。
(2)、观察衰减正弦序列x b(n)的时域和幅频特性,a=0.1,f=0.0625,检查谱峰出现位置是否正确,注意频谱的形状,绘出幅频特性曲线,改变f,使f分别等于0.4375和0.5625,观察这两种情况下,频谱的形状和谱峰出现位置,有无混叠和泄漏现象?说明产生现象的原因。
(3)、观察三角波和反三角波序列的时域和幅频特性,用N=8点FFT分析信号序列x c(n)和x d(n)的幅频特性,观察两者的序列形状和频谱曲线有什么异同?绘出两序列及其幅频特性曲线。
在x c(n)和x d(n)末尾补零,用N=16点FFT分析这两个信号的幅频特性,观察幅频特性发生了什么变化?两情况的FFT频谱还有相同之处吗?这些变化说明了什么?(4)、一个连续信号含两个频率分量,经采样得x(n)=sin2π*0.125n+cos2π*(0.125+Δf)n n=0,1……,N-1已知N=16,Δf分别为1/16和1/64,观察其频谱;当N=128时,Δf不变,其结果有何不同,为什么?(5)、用FFT分别实现x a(n)(p=8,q=2)和 x b(n)(a=0.1,f=0.0625)的16点圆周卷积和线性卷积。
(6)、产生一512点的随机序列x e(n),并用x c(n)和x e(n)作线性卷积,观察卷积前后x e(n)频谱的变化。
要求将x e(n)分成8段,分别采用重叠相加法和重叠保留法。
返回页首四、实验思考1.实验中的信号序列x c(n)和x d(n),在单位圆上的Z变换频谱|X c(jω)|和|X d(j ω)|会相同吗?如果不同,你能说出哪一个低频分量更多一些吗?为什么?2.对一个有限长序列进行DFT等价于将该序列周期延拓后进行DFS展开,因为DFS也只是取其中一个周期来计算,所以FFT在一定条件下也可以用以分析周期信号序列。
如果实正弦信号sin(2πfn),f=0.1用16点FFT来做DFS运算,得到的频谱时信号本身的真实谱吗?返回页首实验二IIR数字滤波器的设计一、实验目的1.掌握双线性变换法及脉冲相应不变法设计IIR数字滤波器的具体设计方法及其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、高通和带通IIR数字滤波器的计算机编程。
2.观察双线性变换及脉冲响应不变法设计的滤波器的频域特性,了解双线性变换法及脉冲响应不变法的特点。
3.熟悉Butterworth滤波器、Chebyshev滤波器和椭圆滤波器的频率特性。
返回页首二、实验原理与方法(1)脉冲响应不变法用数字滤波器的单位脉冲响应序列h(n)模仿模拟滤波器的冲激响应h a(t),让h(n)正好等于ha(t)的采样值,即h(n)= ha(nT)其中T为采样间隔,如果以Ha (S)及H(z)分别表示ha(t)的拉式变换及h(n)的Z变换,则(2)双线性变换法S平面与z平面之间满足以下映射关系:s平面的虚轴单值地映射于z平面的单位圆上,s平面的左半平面完全映射到z 平面的单位圆内。
双线性变换不存在混叠问题。
双线性变换时一种非线性变换,这种非线性引起的幅频特性畸变可通过预畸而得到校正。
IIR低通、高通、带通数字滤波器设计采用双线性原型变换公式::以低通数字滤波器为例,将设计步骤归纳如下:1.确定数字滤波器的性能指标:通带临界频率fp、阻带临界频率fr;通带内的最大衰减Ap;阻带内的最小衰减Ar;采样周期T;2.确定相应的数字角频率,ωp =2πfpT;ωr=2πfrT;3.计算经过预畸的相应模拟低通原型的频率,;4.根据Ωp 和Ωr计算模拟低通原型滤波器的阶数N,并求得低通原型的传递函数Ha(s);5.用上面的双线性变换公式代入Ha(s),求出所设计的传递函数H(z);6.分析滤波器特性,检查其指标是否满足要求。
返回页首三、实验内容及步骤(1)、fp=0.3KHz,Ap=0.8dB, fr=0.2KHz,Ar=20dB,T=1ms;设计一Chebyshev 高通滤波器;观察其通带损耗和阻带衰减是否满足要求。
(2)、fp=0.2KHz,Ap=1dB, fr=0.3KHz,Ar=25dB,T=1ms;分别用脉冲响应不变法及双线性变换法设计一Butterworth数字低通滤波器,观察所设计数字滤波器的幅频特性曲线,记录带宽和衰减量,检查是否满足要求。
比较这两种方法的优缺点。
(3)、利用双线性变换法分别设计满足下列指标的Butterworth型、Chebyshev型和椭圆型数字低通滤波器,并作图验证设计结果。
f p =1.2kHz, Ap≤0.5dB, fr=2KHz, Ar≥40dB, fs=8KHz(4)、利用双线性变换法设计一Butterworth型数字带通滤波器,已知fs=30KHz,其等效的模拟滤波器指标为Ap<3dB, 2KHz<f≤3KHz, Ar≥5dB, f≥6KHz, Ar≥20dB, f≤1.5KHz返回页首四、实验思考1.双线性变换法中Ω和ω之间的关系是非线性的,在实验中你注意到这种非线性关系了吗?从那几种数字滤波器的幅频特性曲线中可以观察到这种非线性关系?2.能否利用公式完成脉冲响应不变法的数字滤波器设计?为什么?返回页首实验三、FIR数字滤波器的设计一、实验目的1.掌握用窗函数法,频率采样法及优化设计法设计FIR滤波器的原理及方法,熟悉响应的计算机编程;2.熟悉线性相位FIR滤波器的幅频特性和相频特性;3.了解各种不同窗函数对滤波器性能的影响。
返回页首二、实验原理与方法线性相位实系数FIR滤波器按其N值奇偶和h(n)的奇偶对称性分为四种: 1、h(n)为偶对称,N为奇数H(e jω)的幅值关于ω=0,π,2π成偶对称。
2、h(n)为偶对称,N为偶数H(e jω)的幅值关于ω=π成奇对称,不适合作高通。