哈尔滨工程大学数字信号处理实验六

合集下载

数字信号处理综合实验

数字信号处理综合实验

数字信号处理综合实验一、实验目的本实验旨在通过数字信号处理技术的综合应用,加深对数字信号处理原理和方法的理解,提高学生的实际操作能力和问题解决能力。

二、实验原理数字信号处理是利用数字计算机对摹拟信号进行采样、量化和编码,然后进行数字运算和处理的技术。

本实验主要涉及以下几个方面的内容:1. 信号采集与预处理:通过摹拟信号采集电路将摹拟信号转换为数字信号,然后进行预处理,如滤波、降噪等。

2. 数字滤波器设计:设计和实现数字滤波器,包括FIR滤波器和IIR滤波器,可以对信号进行滤波处理,提取感兴趣的频率成份。

3. 时域和频域分析:对采集到的信号进行时域和频域分析,如时域波形显示、功率谱密度估计等,可以了解信号的时域和频域特性。

4. 信号重构与恢复:通过信号重构算法对采集到的信号进行恢复,如插值、外推等,可以还原信号的原始特征。

三、实验内容根据实验原理,本实验的具体内容包括以下几个部份:1. 信号采集与预处理a. 使用摹拟信号采集电路将摹拟信号转换为数字信号,并通过示波器显示采集到的信号波形。

b. 对采集到的信号进行预处理,如去除噪声、滤波等,确保信号质量。

2. 数字滤波器设计a. 设计并实现FIR滤波器,选择合适的滤波器类型和参数,对采集到的信号进行滤波处理。

b. 设计并实现IIR滤波器,选择合适的滤波器类型和参数,对采集到的信号进行滤波处理。

3. 时域和频域分析a. 对采集到的信号进行时域分析,绘制信号的时域波形图,并计算信号的均值、方差等统计指标。

b. 对采集到的信号进行频域分析,绘制信号的功率谱密度图,并计算信号的频域特性。

4. 信号重构与恢复a. 使用插值算法对采集到的信号进行重构,恢复信号的原始特征。

b. 使用外推算法对采集到的信号进行恢复,还原信号的原始特征。

四、实验步骤1. 搭建信号采集电路,将摹拟信号转换为数字信号,并通过示波器显示采集到的信号波形。

2. 对采集到的信号进行预处理,如去除噪声、滤波等,确保信号质量。

数字信号处理实验文档

数字信号处理实验文档

实验任务:1、给出音频信号的时域和频谱特性;2、设计一个IIR数字滤波器,给出滤波器的时域和频谱特性,并利用滤波器对音频信号进行滤波,给出滤波结果(滤波后的时域和频谱特性);3、设计一个FIR数字滤波器,给出滤波器的时域和频谱特性,并利用滤波器对音频信号进行滤波,给出滤波结果(滤波后的时域和频谱特性)。

实验原理:采样频率、位数及采样定理采样频率,也称为采样速度或者采样率,定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。

采样频率的倒数是采样周期或者叫作采样时间,它是采样之间的时间间隔。

通俗的讲采样频率是指计算机每秒钟采集多少个声音样本,是描述声音文件的音质、音调,衡量声卡、声音文件的质量标准。

采样频率越高,即采样的间隔时间越短,则在单位时间内计算机得到的声音样本数据就越多,对声音波形的表示也越精确。

采样位数可以理解为声卡处理声音的解析度。

这个数值越大,解析度就越高,录制和回放的声音就越真实。

我们首先要知道:电脑中的声音文件是用数字0和1来表示的。

所以在电脑上录音的本质就是把模拟声音信号转换成数字信号。

反之,在播放时则是把数字信号还原成模拟声音信号输出。

采样定理又称奈奎斯特定理,在进行模拟/数字信号的转换过程中,当采样频率fs不小于信号中最高频率fm的2倍时,采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5~10倍。

IIR数字滤波器设计原理利用双线性变换设计IIR滤波器(巴特沃斯数字低通滤波器的设计),首先要设计出满足指标要求的模拟滤波器的传递函数Ha(s),然后由Ha(s)通过双线性变换可得所要设计的IIR滤波器的系统函数H(z)。

如果给定的指标为数字滤波器的指标,则首先要转换成模拟滤波器的技术指标,这里主要是边界频率Wp和Ws的转换,对ap和as 指标不作变化。

边界频率的转换关系为∩=2/T tan(w/2)。

接着,按照模拟低通滤波器的技术指标根据相应设计公式求出滤波器的阶数N 和3dB截止频率∩c ;根据阶数N查巴特沃斯归一化低通滤波器参数表,得到归一化传输函数Ha(p);最后,将p=s/ ∩c 代入Ha(p)去归一,得到实际的模拟滤波器传输函数Ha(s)。

数字信号处理实验六报告

数字信号处理实验六报告

实验六 频域抽样定理和音频信号的处理实验报告 (一)频域抽样定理给定信号1, 013()27, 14260, n n x n n n +≤≤⎧⎪=-≤≤⎨⎪⎩其它 1.利用DTFT 计算信号的频谱()j X e ω,一个周期内角频率离散为M=1024点,画出频谱图,标明坐标轴。

n=0:100; %设定n 及其取值范围for n1=0:13 %对于n 处于不同的取值范围将n 代入不同的表达式xn(n1+1)=n1+1;endfor n2=14:26xn(n2+1)=27-n2;endfor n3=27:100xn(n3+1)=0;endM=1024; %设定抽样离散点的个数k=0:M-1; %设定k 的取值范围w=2*pi*k/M; %定义数字角频率[X,w] = dtft2( xn,n, M ) %调用dtft2子程序求频谱plot(w,abs(X)); %画出幅度值的连续图像xlabel('w/rad');ylabel('|X(exp(jw))|');title(' M=1024时的信号频谱图像'); %标明图像的横纵坐标和图像标题function [X,w] = dtft2(xn, n, M ) %定义x(n)的DTFT 函数w=0:2*pi/M:2*pi-2*pi/M; %将数字角频率w 离散化L=length(n); %设定L 为序列n 的长度 for (k=1:M) %外层循环,w 循环M 次sum=0; %每确定一个w 值,将sum 赋初值为零for (m=1:L) %内层循环,对n 求和,循环次数为n 的长度sum=sum+xn(m)*exp(-j*w(k)*n(m)); %求和X(k)=sum; %把每一次各x(n)的和的总值赋给X ,然后开始对下一个w 的求和过程end %内层循环结束end%外层循环结束M=1024时的信号频谱图像如图1-1所示:图1-1 M=1024时的信号频谱图像2.分别对信号的频谱()jX eω在区间π[0,2]上等间隔抽样16点和32点,得到32()X k和16()X k。

数字信号处理实验报告_五个实验

数字信号处理实验报告_五个实验

实验一 信号、系统及系统响应一、 实验目的1、熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解;2、熟悉时域离散系统的时域特性;3、利用卷积方法观察分析系统的时域特性;4、掌握序列傅立叶变换的计算机实现方法,利用序列的傅立叶变换对连续信号、离散信号及系统响应进行频域分析。

二、 实验原理及方法采样是连续信号数字处理的第一个关键环节。

对采样过程的研究不仅可以了解采样前后信号时域和频域特性发生变化以及信号信息不丢失的条件,而且可以加深对傅立叶变换、Z 变换和序列傅立叶变换之间关系式的理解。

对一个连续信号)(t x a 进行理想采样的过程可用下式表示:)()()(^t p t t xx aa=其中)(^t x a 为)(t x a 的理想采样,p(t)为周期脉冲,即∑∞-∞=-=m nT t t p )()(δ)(^t x a的傅立叶变换为)]([1)(^s m a m j X T j a XΩ-Ω=Ω∑∞-∞=上式表明^)(Ωj Xa为)(Ωj Xa的周期延拓。

其延拓周期为采样角频率(T /2π=Ω)。

只有满足采样定理时,才不会发生频率混叠失真。

在实验时可以用序列的傅立叶变换来计算^)(Ωj X a 。

公式如下:Tw jw ae X j X Ω==Ω|)()(^离散信号和系统在时域均可用序列来表示。

为了在实验中观察分析各种序列的频域特性,通常对)(jw e X 在[0,2π]上进行M 点采样来观察分析。

对长度为N 的有限长序列x(n),有:n jw N n jw k ke m x eX--=∑=)()(1其中,k Mk πω2=,k=0,1,……M-1 时域离散线性非移变系统的输入/输出关系为 ∑∞-∞=-==m m n h m x n h n x n y )()()(*)()(上述卷积运算也可在频域实现)()()(ωωωj j j e H e X eY =三、 实验程序s=yesinput(Please Select The Step Of Experiment:\n 一.(1时域采样序列分析 s=str2num(s); close all;Xb=impseq(0,0,1); Ha=stepseq(1,1,10);Hb=impseq(0,0,3)+2.5*impseq(1,0,3)+2.2*impseq(2,0,3)+impseq(3,0,3); i=0;while(s);%时域采样序列分析 if(s==1) l=1; k=0;while(1)if(k==0)A=yesinput('please input the Amplitude:\n',...444.128,[100,1000]); a=yesinput('please input the Attenuation Coefficient:\n',...222.144,[100,600]); w=yesinput('please input the Angle Frequence(rad/s):\n',...222.144,[100,600]); end k=k+1;fs=yesinput('please input the sample frequence:\n',...1000,[100,1200]); Xa=FF(A,a,w,fs); i=i+1;string+['fs=',num2str(fs)]; figure(i)DFT(Xa,50,string); 1=yesinput 1=str2num(1); end%系统和响应分析else if(s==2)kk=str2num(kk);while(kk)if(kk==1)m=conv(Xb,Hb);N=5;i=i+1;figure(i)string=('hb(n)');Hs=DFT(Hb,4,string);i=i+1;figure(i)string('xb(n)');DFT(Xb,2,string);string=('y(n)=xb(n)*hb(n)');else if (kk==2)m=conv(Ha,Ha);N=19;string=('y(n)=ha(n)*(ha(n)');else if (kk==3)Xc=stepseq(1,1,5);m=conv(Xc,Ha);N=14;string=('y(n)=xc(n)*ha(n)');endendendi=i+1;figure(i)DFT(m,N,string);kk=yesinputkk=str2num(kk);end卷积定理的验证else if(s==3)A=1;a=0.5;w=2,0734;fs=1;Xal=FF(A,a,w,fs);i=i+1;figure(i)string=('The xal(n)(A=1,a=0.4,T=1)'); [Xa,w]DFT(Xal,50,string);i=i+1;figure(i)string =('hb(n)');Hs=DFT(Hb,4,string);Ys=Xs.*Hs;y=conv(Xal,Hb);N=53;i=i+1;figure(i)string=('y(n)=xa(n)*hb(n)');[yy,w]=DFT(y,N,string);i=i+1;figure(i)subplot(2,2,1)plot(w/pi,abs(yy));axis([-2 2 0 2]);xlabel('w/pi');ylabel('|Ys(jw)|');title(FT[x(n)*h(n)]');subplot(2,2,3)plot(w/pi,abs(Ys));axis([-2 2 0 2]);xlabel('w/pi');ylabel('|Ys(jw)|');title('FT[xs(n)].FT[h(n)]');endendend子函数:离散傅立叶变换及X(n),FT[x(n)]的绘图函数function[c,l]=DFT(x,N,str)n=0:N-1;k=-200:200;w=(pi/100)*k;l=w;c=x*Xc=stepseq(1,1,5);子函数:产生信号function c=FF(A,a,w,fs)n=o:50-1;c=A*exp((-a)*n/fs).*sin(w*n/fs).*stepseq(0,0,49); 子函数:产生脉冲信号function [x,n]=impseq(n0,n1,n2)n=[n1:n2];x=[(n-n0)==0];子函数:产生矩形框信号function [x,n]=stepseq(n0,n1,n2) n=[n1:n2];x=[(n-n0>=0)];四、 实验内容及步骤1、认真复习采样理论,离散信号与系统,线性卷积,序列的傅立叶变换及性质等有关内容,阅读本实验原理与方法。

最新数字信号处理实验报告

最新数字信号处理实验报告

最新数字信号处理实验报告一、实验目的本次实验旨在加深对数字信号处理(DSP)理论的理解,并通过实践操作掌握数字信号处理的基本方法和技术。

通过实验,学习如何使用相关软件工具进行信号的采集、分析、处理和重构,提高解决实际问题的能力。

二、实验内容1. 信号采集与分析- 使用数字示波器采集模拟信号,并将其转换为数字信号。

- 利用傅里叶变换(FFT)分析信号的频谱特性。

- 观察并记录信号的时域和频域特性。

2. 滤波器设计与实现- 设计低通、高通、带通和带阻滤波器。

- 通过编程实现上述滤波器,并测试其性能。

- 分析滤波器对信号的影响,并调整参数以优化性能。

3. 信号重构实验- 应用所学滤波器对采集的信号进行去噪处理。

- 使用逆傅里叶变换(IFFT)重构经过滤波处理的信号。

- 比较重构信号与原始信号的差异,评估处理效果。

三、实验设备与材料- 计算机及DSP相关软件(如MATLAB、LabVIEW等)- 数字示波器- 模拟信号发生器- 数据采集卡四、实验步骤1. 信号采集- 连接并设置好数字示波器和模拟信号发生器。

- 生成一系列不同频率和幅度的模拟信号。

- 通过数据采集卡将模拟信号转换为数字信号。

2. 滤波器设计- 在DSP软件中设计所需的滤波器,并编写相应的程序代码。

- 调整滤波器参数,如截止频率、增益等,以达到预期的滤波效果。

3. 信号处理与重构- 应用设计的滤波器对采集的数字信号进行处理。

- 利用IFFT对处理后的信号进行重构。

- 通过对比原始信号和重构信号,评估滤波器的性能。

五、实验结果与分析- 展示信号在时域和频域的分析结果。

- 描述滤波器设计参数及其对信号处理的影响。

- 分析重构信号的质量,包括信噪比、失真度等指标。

六、实验结论- 总结实验中所学习到的数字信号处理的基本概念和方法。

- 讨论实验中遇到的问题及其解决方案。

- 提出对实验方法和过程的改进建议。

七、参考文献- 列出实验过程中参考的书籍、文章和其他资源。

哈工程数字信号处理实验六离散时间滤波器

哈工程数字信号处理实验六离散时间滤波器

实验六 离散时间滤波器一、实验名称离散时间滤波器设计二、实验目的:1、掌握利用脉冲响应不变法设计IIR 数字滤波器的原理及具体方法。

2、加深理解数字滤波器与连续时间滤波器之间的技术转化。

3、掌握脉冲响应不变法设计IIR 数字滤波器的优缺点及使用范围。

4、掌握利用双线性变换法设计IIR 数字滤波器的原理及具体方法。

5、深入理解利用双线性变换法设计IIR 数字滤波器的优缺点及使用范围。

三、实验原理:1、脉冲响应不变法变换原理脉冲响应不变法将模拟滤波器的s 平面变换成数字滤波器的z 平面,从而将模拟滤波器映射成数字滤波器。

IIR 滤波器的系数函数为1-z (或z )的有理分式,即 ∑∑=-=--=Nk kk M k k kz a z b z H 101)( 一般满足N M ≤。

⑴转换思路:)(H )()(h )(h )(z n h nT t s H z a a −−→−=−−−→−−−−−→−变换时域采样拉普拉斯逆变换若模拟滤波器的系统函数H (s )只有单阶极点,且假定分母的阶次大于分子的阶次,表达式:∑=--=Nk T s k z e TA z H k 111)( ⑵s 平面与z 平面之间的映射关系。

Ω+==j s re z j σω→=→=→ΩT j T jw sT e e re e z σTe r T Ω==ωσ IIR 数字滤波器设计的重要环节式模拟低通滤波器的设计,典型的模拟低通滤波器有巴特沃兹和切比雪夫等滤波器。

由模拟低通滤波器经过相应的复频率转换为H (s ),由H (s )经过脉冲响应不变法就得到所需要的IIR 数字滤波器H (z )。

Matlab 信号处理工具箱中提供了IIR 滤波器设计的函数,常用的函数:IIR 滤波器阶数选择Buttord--巴特沃兹滤波器阶数选择。

Cheb1ord--切比雪夫I 型滤波器阶数选择。

Cheb2ord--切比雪夫II 型滤波器阶数选择。

IIR 滤波器设计Butter--巴特沃兹滤波器设计。

数字信号处理实验报告

数字信号处理实验报告

数字信号处理实验报告实验一:频谱分析与采样定理一、实验目的1.观察模拟信号经理想采样后的频谱变化关系。

2.验证采样定理,观察欠采样时产生的频谱混叠现象3.加深对DFT算法原理和基本性质的理解4.熟悉FFT算法原理和FFT的应用二、实验原理根据采样定理,对给定信号确定采样频率,观察信号的频谱三、实验内容和步骤实验内容(1)在给定信号为:1.x(t)=cos(100*π*at)2.x(t)=exp(-at)3.x(t)=exp(-at)cos(100*π*at)其中a为实验者的学号,用DFT分析上述各信号的频谱结构,选取不同的采样频率和截取长度,试分析频谱发生的变化。

实验内容(2)设x(n)=cos(0.48*π*n)+ cos(0.52*π*n),对其进行以下频谱分析:10点DFT,64点DFT,及在10点序列后补零至64点的DFT 试分析这三种频谱的特点。

四、实验步骤1.复习采样理论、DFT的定义、性质和用DFT作谱分析的有关内容。

2.复习FFT算法原理和基本思想。

3.确定实验给定信号的采样频率,编制对采样后信号进行频谱分析的程序五、实验程序和结果实验1内容(1)N=L/T+1;t=0:T:L;a=48;D1=2*pi/(N*T); % 求出频率分辨率k1=floor((-(N-1)/2):((N-1)/2)); % 求对称于零频率的FFT位置向量%%%%%%%%%%%%%%%%%%%%%%%%%figure(1),x1=cos(100*pi*a*t);y1=T*fftshift(fft(x1));%虽然原来是周期信号,但做了截断后,仍可当作非周期信号。

subplot(2,1,1),plot(t,x1);title('正弦信号');subplot(2,1,2),plot(k1*D1,abs(y1));title('正弦信号频谱'); %%%%%%%%%%%%%%%%%%%%% figure(2), x2=exp(-a*t);y2=T*fftshift(fft(x2));%有限长(长度为N)离散时间信号x1的dft 再乘T 来近似模拟信号的频谱,长度为Nsubplot(2,1,1),plot(t,x2);title('指数信号');subplot(2,1,2),plot(k1*D1,abs(y2));title('指数信号频谱'); %%%%%%%%%%%%%%%%%%%%% figure(3), x3=x1.*x2;y3=T*fftshift(fft(x3))subplot(2,1,1),plot(t,x3);title('两信号相乘');subplot(2,1,2),plot(k1*D1,abs(y3));title('两信号相乘频谱');0.020.040.060.080.10.120.140.16-1-0.500.51正弦信号-4000-3000-2000-10000100020003000400000.020.040.06正弦信号频谱00.020.040.060.080.10.120.140.160.51-4000-3000-2000-10000100020003000400000.010.020.03指数信号频谱0.020.040.060.080.10.120.140.16-1-0.500.51两信号相乘-4000-3000-2000-10000100020003000400000.0050.010.015两信号相乘频谱T=0.0005 L=0.150.020.040.060.080.10.120.140.16-1-0.500.51-8000-6000-4000-2000200040006000800000.020.040.060.08正弦信号频谱00.020.040.060.080.10.120.140.160.51指数信号-8000-6000-4000-20000200040006000800000.010.020.03指数信号频谱0.020.040.060.080.10.120.140.16-1-0.500.51-8000-6000-4000-20000200040006000800000.0050.010.015两信号相乘频谱T=0.002 L=0.150.020.040.060.080.10.120.140.16-1-0.500.51正弦信号-2000-1500-1000-50050010001500200000.020.040.060.08正弦信号频谱00.020.040.060.080.10.120.140.160.51-2000-1500-1000-500050010001500200000.010.020.03指数信号频谱0.020.040.060.080.10.120.140.16-1-0.500.51两信号相乘-2000-1500-1000-500050010001500200000.0050.010.015两信号相乘频谱T=0.001 L=0.180.020.040.060.080.10.120.140.160.18-1-0.500.51-4000-3000-2000-1000100020003000400000.020.040.060.08正弦信号频谱00.020.040.060.080.10.120.140.160.180.51指数信号-4000-3000-2000-10000100020003000400000.010.020.03指数信号频谱0.020.040.060.080.10.120.140.160.18-1-0.500.51-4000-3000-2000-10000100020003000400000.0050.010.015两信号相乘频谱T=0.001 L=0.120.020.040.060.080.10.12-1-0.500.51正弦信号-4000-3000-2000-10000100020003000400000.020.040.06正弦信号频谱00.020.040.060.080.10.120.51-4000-3000-2000-10000100020003000400000.010.020.03指数信号频谱0.020.040.060.080.10.12-1-0.500.51两信号相乘-4000-3000-2000-10000100020003000400000.0050.010.015两信号相乘频谱实验1内容(2)>> N=10;n=1:NT=1x1=cos(0.48*pi*n*T)+cos(0.52*pi*n*T)X1=fft(x1,10)k=1:N;w=2*pi*k/10subplot(3,2,1);stem(n,x1);axis([0,10,-3,3]);title('信号x(n)');subplot(3,2,2);stem(w/pi,abs(X1));axis([0,1,0,10]);title('DFTx(n)');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% N2=100;n2=1:N2T=1x1=cos(0.48*pi*[1:10]*T)+cos(0.52*pi*[1:10]*T)x2=[x1,zeros(1,90)]X2=fft(x2,N2)k2=1:N2;w2=2*pi*k2/100subplot(3,2,3);stem(x2);axis([0,100,-3,3]);title('信号x(n)补零');subplot(3,2,4);plot(w2/pi,abs(X2));axis([0,1,0,10]);title('DFTx(n)');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% N3=100;n3=1:N3T=1x3=cos(0.48*pi*n3*T)+cos(0.52*pi*n3*T)X3=fft(x3,100)k3=1:N3;w3=2*pi*k3/100subplot(3,2,5);stem(n3,x3);axis([0,100,-3,3]);title('信号x(n)');subplot(3,2,6);stem(w3/pi,abs(X3));axis([0,1,0,10]);title('DFTx(n)');n =1 2 3 4 5 6 7 8 9 10 T =1510-202信号x(n)0.510510DFTx(n)50100信号x(n)补零0.510510DFTx(n)50100信号x(n)DFTx(n)实验二 卷积定理一、实验目的通过本实验,验证卷积定理,掌握利用DFT 和FFT 计算线性卷积的方法。

数字信号处理实验报告

数字信号处理实验报告

数字信号处理实验报告实验一:混叠现象的时域与频域表现实验原理:当采样频率Fs不满足采样定理,会在0.5Fs附近引起频谱混叠,造成频谱分析误差。

实验过程:考虑频率分别为3Hz,7Hz,13Hz 的三个余弦信号,即:g1(t)=cos(6πt), g2(t)=cos(14πt), g3(t)=cos(26πt),当采样频率为10Hz 时,即采样间隔为0.1秒,则产生的序列分别为:g1[n]=cos(0.6πn), g2[n]=cos(1.4πn), g3[n]=cos(2.6πn)对g2[n],g3[n] 稍加变换可得:g2[n]=cos(1.4πn)=cos((2π-0.6π)n)= cos(0.6πn)g3[n]=cos(2.6πn)= cos((2π+0.6π)n)=cos(0.6πn)利用Matlab进行编程:n=1:300;t=(n-1)*1/300;g1=cos(6*pi*t);g2=cos(14*pi*t);g3=cos(26*pi*t);plot(t,g1,t,g2,t,g3);k=1:100;s=k*0.1;q1=cos(6*pi*s);q2=cos(14*pi*s);q3=cos(26*pi*s);hold on; plot(s(1:10),q1(1:10),'bd');figuresubplot(2,2,1);plot(k/10,abs(fft(q1)))subplot(2,2,2);plot(k/10,abs(fft(q2)))subplot(2,2,3);plot(k/10,abs(fft(q3)))通过Matlab软件的图像如图所示:如果将采样频率改为30Hz,则三信号采样后不会发生频率混叠,可运行以下的程序,观察序列的频谱。

程序编程改动如下:k=1:300;q=cos(6*pi*k/30);q1=cos(14*pi*k/30);q2=cos(26*pi*k/30);subplot(2,2,1);plot(k/10,abs(fft(q)))subplot(2,2,2);plot(k/10,abs(fft(q1)))subplot(2,2,3);plot(k/10,abs(fft(q2)))得图像:问题讨论:保证采样后的信号不发生混叠的条件是什么?若信号的最高频率为17Hz,采样频率为30Hz,问是否会发生频率混叠?混叠成频率为多少Hz的信号?编程验证你的想法。

【精品】数字信号处理实验报告

【精品】数字信号处理实验报告

【精品】数字信号处理实验报告
1 实验目的
本次实验的目的是在MATLAB软件环境中运用数字信号处理理论,通过实验操作来检验用于数字信号处理的算法的正确性,以便明确数字信号处理理论在实际应用中的重要作用。

2 实验原理
数字信号处理实验的原理是使用MATLAB进行数字信号处理算法实验,首先,设置一些用于数字信号处理的参数,如传输函数、离散时间区间、采样频率、滤波器类型等;其次,按照信号处理的算法进行编程实现,搭建一个数字信号处理系统,在MATLAB下对信号进行处理,包括采样、滤波和量化等;最后,对处理后的信号进行数字分析,监测数字信号处理后的变化趋势,验证数字信号处理算法的正确性。

3 实验步骤
(1) 建立信号处理实验系统:选择一个常见的信号处理算法,运用MATLAB软件分别编写信号发生程序、信号采样程序、滤波程序和信号量化程序;
(2) 运行实验程序:实验同学可以自行设置参数,如传输函数、离散时间区间、采样频率、滤波器类型等,调整完毕后,点击“run”,运行实验程序;
(3) 观察实验结果:运行完毕后,可以观察MATLAB的图形结果,以此来分析信号处理算法的性能;
(4) 对结果进行分析:经过上述实验操作后,可以根据所得到的实验结果来判断信号处理算法的性能,如输出信号的噪声抑制能力、良好的时域和频域性能等,从而验证信号处理理论在实际应用中的价值。

4 总结。

哈工大数字信号处理实验报告

哈工大数字信号处理实验报告

H a r b i n I n s t i t u t e o f T e c h n o l o g y数字信号处理实验报告学生姓名:江世凯学号: 1122110307班级: 1221103专业:电子科学与技术任课教师:李杨所在单位:电子工程系2014年11月实验一、用FFT 作谱分析一、实验目的(1) 进一步加深DFT 算法原理和基本性质的理解(因为FFT 只是DFT 的一种快速算法, 所以FFT 的运算结果必然满足DFT 的基本性质)。

(2) 熟悉FFT 算法原理和FFT 子程序的应用。

(3) 学习用FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT 。

二、实验内容(1) 编制信号产生子程序, 产生以下典型信号供谱分析用:456()cos 4()sin8()cos8cos16cos 20x n n x n nx t t t tπππππ===++(2) 画出1 中所给出的信号,并逐个进行谱分析。

下面给出针对各信号的FFT 变换区间N 以及对连续信号x6(t)的采样频率fs , 供实验时参考。

x1(n), x2(n), x3(n), x4(n), x5(n): N=8, 16 x6(t): fs=64(Hz), N=16, 32, 64(n=0:1:69)(3) 令x(n)=x4(n)+x5(n), 用FFT 计算 8 点和 16 点离散傅里叶变换, X(k)=DFT [x(n)] (4) 令x(n)=x4(n)+jx5(n), 重复(2)。

1423()()1,03()847403()3470x n R n n n x n n n n n x n n n =⎧+≤≤⎪=-≤≤⎨⎪⎩-≤≤⎧⎪=-≤≤⎨⎪⎩三、程序框图图1.实验程序框图四、实验过程(1) 复习DFT 的定义、 性质和用DFT 作谱分析的有关内容。

(2) 复习FFT 算法原理与编程思想, 并对照DIT-FFT 运算流图和程序框图, 读懂本实验提供的FFT 子程序。

数字信号处理实验报告

数字信号处理实验报告

数字信号处理实验报告实验报告
实验题目:数字信号处理实验
实验日期:XXXX年XX月XX日
实验目的:
1. 了解数字信号处理的基本概念和原理;
2. 掌握数字信号的采样、量化和编码方法;
3. 学习数字信号处理的基本算法和应用。

实验内容:
1. 采样与重建
1.1 采样定理的验证
1.2 重建信号的实现
2. 量化与编码
2.1 量化方法的比较
2.2 编码方法的选择与实现
3. 数字滤波器设计与实现
3.1 FIR滤波器设计方法
3.2 IIR滤波器设计方法
实验步骤:
1. 使用示波器对输入的模拟信号进行采样,记录采样频率和采样点数。

2. 使用恢复信号方法,将采样得到的数字信号重建为模拟信号,并进行对比分析。

3. 对重建的信号进行量化处理,比较不同量化方法的效果,选择合适的方法进行编码。

4. 设计并实现数字滤波器,比较FIR和IIR滤波器的性能和实
现复杂度。

实验结果与分析:
1. 采样与重建实验结果表明,在满足采样定理的条件下,采样频率越高,重建信号的质量越高。

2. 量化与编码实验结果表明,在相同位数下,线性量化方法优于非线性量化方法,而编码方法可以根据信号特性选择,例如
差分编码适用于连续变化的信号。

3. 数字滤波器实验结果表明,FIR滤波器相对于IIR滤波器在时域和频域上更易于设计和理解,但实现复杂度较高。

实验结论:
数字信号处理是对模拟信号进行采样、量化和编码等处理,具有较高的灵活性和可靠性。

在实际应用中,应根据需要选择合适的采样频率、量化位数和编码方式,并根据信号特性选择合适的滤波器设计方法。

数字信号处理实验报告

数字信号处理实验报告

数字信号处理实验报告一、实验目的本次数字信号处理实验的主要目的是通过实际操作和观察,深入理解数字信号处理的基本概念和方法,掌握数字信号的采集、处理和分析技术,并能够运用所学知识解决实际问题。

二、实验设备与环境1、计算机一台,安装有 MATLAB 软件。

2、数据采集卡。

三、实验原理1、数字信号的表示与采样数字信号是在时间和幅度上都离散的信号,可以用数字序列来表示。

在采样过程中,根据奈奎斯特采样定理,为了能够准确地恢复原始信号,采样频率必须大于信号最高频率的两倍。

2、离散傅里叶变换(DFT)DFT 是将时域离散信号变换到频域的一种方法。

通过 DFT,可以得到信号的频谱特性,从而分析信号的频率成分。

3、数字滤波器数字滤波器是对数字信号进行滤波处理的系统,分为有限冲激响应(FIR)滤波器和无限冲激响应(IIR)滤波器。

FIR 滤波器具有线性相位特性,而 IIR 滤波器则在性能和实现复杂度上有一定的优势。

四、实验内容与步骤1、信号的采集与生成使用数据采集卡采集一段音频信号,或者在 MATLAB 中生成一个模拟信号,如正弦波、方波等。

2、信号的采样与重构对采集或生成的信号进行采样,然后通过插值算法重构原始信号,观察采样频率对重构信号质量的影响。

3、离散傅里叶变换对采样后的信号进行DFT 变换,得到其频谱,并分析频谱的特点。

4、数字滤波器的设计与实现(1)设计一个低通 FIR 滤波器,截止频率为给定值,观察滤波前后信号的频谱变化。

(2)设计一个高通 IIR 滤波器,截止频率为给定值,比较滤波前后信号的时域和频域特性。

五、实验结果与分析1、信号的采集与生成成功采集到一段音频信号,并在MATLAB 中生成了各种模拟信号,如正弦波、方波等。

通过观察这些信号的时域波形,对不同类型信号的特点有了直观的认识。

2、信号的采样与重构当采样频率足够高时,重构的信号能够较好地恢复原始信号的形状;当采样频率低于奈奎斯特频率时,重构信号出现了失真和混叠现象。

哈工大数字信号处理实验报告

哈工大数字信号处理实验报告

哈工大数字信号处理实验报告数字信号处理实验报告姓名:于淼学院:航天学院班级:21201 学号:1112120216 指导教师:李杨1实验一用FFT作谱分析一、实验目的1.进一步加深DFT算法原理和基本性质的理解(因为FFT只是DFT的一种快速算法,所以FFT的运算结果必然满足DFT的基本性质)。

2.熟悉FFT算法原理和FFT子程序的应用。

3.学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。

二、实验步骤1.复习DFT的定义、性质和用DFT作谱分析的有关内容。

复习FFT算法原理与编程思想,并对照DIT—FFT运算流图和程序框图, 2.读懂本实验提供的FFT子程序。

3.编制信号产生子程序,产生以下典型信号供谱分析:x1?n??R4?n?n?1, 0?n?3x2?n?? 8?n, 4?n?70 ,其它n 4?n, 0?n?3x3?n?? n?3, 4?n?7,其它nx4?n??cosn4 x5?n??sin??8nx6?t??cos8?t?cos16?t?cos20?t应当注意,如果给出的是连续信号xa?t?,则首先要根据其最高频率确定采样速率fs以及由频率分辨率选择采样点数N,然后对其进行软件采样(即计算x?n??xa?nT?,0?n?N?1),产生对应序列x?n?。

对信号x6?t?,频率分辨率的选择要以能分辨开其中2的三个频率对应的谱线为准则。

对周期序列,最好截取周期的整数倍进行谱分析,否则有可能产生较大的分析误差。

4.编写主程序下图给出了主程序框图,供参考。

本实验提供FFT子程序和通用绘图子程序。

开始读入长度N 调用信号产生子程序产生实验信号调用绘图子程序(函数)绘制时间序列波形图调用FFT子程序(函数)计算信号的DFT 调用绘图子程序(函数)绘制X?k?曲线结束主程序框图三、实验结果直接运行程序,按照实验内容及程序提示键入1~8,分别对x1?n?~x6?n?及x7?n??x4?n??x5?n?、x8?n??x4?n??jx5?n?进行谱分析。

数字信号处理实验五 谱分析 哈工程

数字信号处理实验五 谱分析 哈工程

实验五谱分析一,试验目的:1 研究不同类型的窗函数,研究一些不同的方法来测试窗的性能;2 专注于有关窄带信号的几个不同的情形。

二,实验原理信号是无限长的,而在进行信号处理时只能采用有限长信号,所以需要将窄带信号“截断”。

在信号处理中,“截断”被看成是用一个有限长的“窗口”看无限长的信倍号,或者从分析的角度是无限长的信号x(t)乘以有限长的窗函数w(t),由傅立叶变换性质可知:x(t)w(t)==1/2πX(jw)W(jw)如果x(t)是频带有限信号,而w(t)是频带无限函数,截断后的信号也必是频带无限信号,从而产生所谓的频谱泄露。

频谱泄露是不可避免的,但是尽量减小,因此设计了不同的窗函数满足不同的要求。

从能量的角度,频谱泄露也是能量泄露,因为加窗后,是原来的信号集中在宅频带内的能量分散到无限的频带范围。

三,实验内容1.用MATLAB编程绘制各种窗函数的形状(1)矩形窗程序N=20;w=boxcar(N);nn=0:N-1;plot(nn,w)(2)汉宁窗程序N=20;w=hanning(N);nn=0:N-1;plot(nn,w)(3)汉明窗程序N=20;w=hamming(N);nn=0:N-1;plot(nn,w)(4)巴特利特窗程序N=20;w=bartlett(N);nn=0:N-1;plot(nn,w)(5)布莱克曼窗程序N=20;w=blackman(N);nn=0:N-1;plot(nn,w)(6)Triang窗程序N=20;w=triang(N); nn=0:N-1;plot(nn,w)(7)Kaiser窗程序N=20;w=kaiser(N,10); nn=0:N-1;plot(nn,w)(8)切比雪夫窗程序N=20;w=chebwin(N,30);nn=0:N-1;plot(nn,w)2,用MATLAB编程绘制各种窗函数的形状及其幅度响应。

(1)矩形窗N=20;w=boxcar(N);[H,W]=dtft(w,512);subplot(111),plot(W/2/pi,20*log(abs(H)));grid,title('MAGNITUDE RESPONSE')xlabel('NORMALIZED FREQUENCY'),ylabel('|H(w)|/dB')(2)汉宁窗N=20;w=hanning(N);[H,W]=dtft(w,512);subplot(111),plot(W/2/pi,20*log(abs(H)));grid,title('MAGNITUDE RESPONSE')xlabel('NORMALIZED FREQUENCY'),ylabel('|H(w)|/dB')(3)汉明窗N=20;w=hamming(N);[H,W]=dtft(w,512);subplot(111),plot(W/2/pi,20*log(abs(H)));grid,title('MAGNITUDE RESPONSE')xlabel('NORMALIZED FREQUENCY'),ylabel('|H(w)|/dB')(4)巴特利特窗N=20;w=bartlett(N);[H,W]=dtft(w,512);subplot(111),plot(W/2/pi,20*log(abs(H)));grid,title('MAGNITUDE RESPONSE')xlabel('NORMALIZED FREQUENCY'),ylabel('|H(w)|/dB')(5)布莱克曼窗N=20;w=blackman(N);[H,W]=dtft(w,512);subplot(111),plot(W/2/pi,20*log(abs(H)));grid,title('MAGNITUDE RESPONSE')xlabel('NORMALIZED FREQUENCY'),ylabel('|H(w)|/dB')(6)Triang窗N=20;w=triang(N);[H,W]=dtft(w,512);subplot(111),plot(W/2/pi,20*log(abs(H)));grid,title('MAGNITUDE RESPONSE')xlabel('NORMALIZED FREQUENCY'),ylabel('|H(w)|/dB')(7)Kaiser窗N=20;w=kaiser(N,10);[H,W]=dtft(w,512);subplot(111),plot(W/2/pi,20*log(abs(H)));grid,title('MAGNITUDE RESPONSE')xlabel('NORMALIZED FREQUENCY'),ylabel('|H(w)|/dB')(8)切比雪夫窗N=20;w=chebwin(N,30);[H,W]=dtft(w,512);subplot(111),plot(W/2/pi,20*log(abs(H)));grid,title('MAGNITUDE RESPONSE')xlabel('NORMALIZED FREQUENCY'),ylabel('|H(w)|/dB')3,绘制矩形窗的幅频响应,窗长度分别为:N=10,N=20,N=50,N=100。

哈尔滨工程大学《数字信号处理》(1-7章)习题解答

哈尔滨工程大学《数字信号处理》(1-7章)习题解答
(4)利用欧拉公式
由于 是无理数,所以 是非周期的。
4、判断下列系统是否为线性、时不变、因果、稳定系统,说明理由。其中, 与 分别为系统的输入与输出。
(1) (2)
(3) (4)
解:(1)首先判断系统是否是线性系统,假设在 和 单独输入时的输出分别为 和 ,即:
那么当输入为 时,系统的输出为
所以系统是线性系统。
3、判断下列信号是否为周期的,并对周期信号求其基本周期。
(1) (2)
(3) (4)
解:(1)由于 是有理数,所以 是周期的,且周期为16。
(2)对于 , ,那么它的周期为24;对于 , ,则它的周期为36, 的周期为这两个信号周期的最小公倍数,所以周期为72。
(3)由于 是有理数,所以 是周期的,周期为14。
(1)
(2)
解:初值定理 ,终值定理 。终值定理只有当 时, 收敛才可应用,即要求 的极点必须在单位圆内(单位圆上的极点只能位于 ,且是一阶极点。)若 发散,则不存在终值。
(1) 。
的极点为 和 , 发散,不存在终值。
(2) 。
, 的极点为 和 , 收敛, 。
5、已知 ,求证 。
证明:这里的z变换是指单边z变换,那么
题13图
解:假设加法器的输出为 ,由系统的结构框图可知
联立解得,

对差分方程两边进行z变换得
因此系统函数为
当 时,系统函数为
它有一个零点 ,两个极点 和 ,零极点图如题13解图(1)所示。由于系统是因果稳定系统,因此 的收敛域为 ,那么单位脉冲响应为
当系统是稳定系统时,频率响应 就是 在单位圆上的值,

(4)由DFT的定义
(5)由DFT的定义
从分子中提出复指数 ,从分母中提出复指数 ,则DFT可以写为

数字信号处理实验报告

数字信号处理实验报告

数字信号处理实验报告数字信号处理实验报告一、实验目的本实验旨在通过数字信号处理的方法,对给定的信号进行滤波、频域分析和采样率转换等操作,深入理解数字信号处理的基本原理和技术。

二、实验原理数字信号处理(DSP)是一种利用计算机、数字电路或其他数字设备对信号进行各种处理的技术。

其主要内容包括采样、量化、滤波、变换分析、重建等。

其中,滤波器是数字信号处理中最重要的元件之一,它可以用来提取信号的特征,抑制噪声,增强信号的清晰度。

频域分析是指将时域信号转化为频域信号,从而更好地理解信号的频率特性。

采样率转换则是在不同采样率之间对信号进行转换,以满足不同应用的需求。

三、实验步骤1.信号采集:首先,我们使用实验室的信号采集设备对给定的信号进行采集。

采集的信号包括噪声信号、含有正弦波和方波的混合信号等。

2.数据量化:采集到的信号需要进行量化处理,即将连续的模拟信号转化为离散的数字信号。

这一步通常通过ADC(模数转换器)实现。

3.滤波处理:将量化后的数字信号输入到数字滤波器中。

我们使用不同的滤波器,如低通、高通、带通等,对信号进行滤波处理,以观察不同滤波器对信号的影响。

4.频域分析:将经过滤波处理的信号进行FFT(快速傅里叶变换)处理,将时域信号转化为频域信号,从而可以对其频率特性进行分析。

5.采样率转换:在进行上述处理后,我们还需要对信号进行采样率转换。

我们使用了不同的采样率对信号进行转换,并观察采样率对信号处理结果的影响。

四、实验结果及分析1.滤波处理:经过不同类型滤波器处理后,我们发现低通滤波器可以有效抑制噪声,高通滤波器可以突出高频信号的特征,带通滤波器则可以提取特定频率范围的信号。

这表明不同类型的滤波器在处理不同类型的信号时具有不同的效果。

2.频域分析:通过FFT处理,我们将时域信号转化为频域信号。

在频域分析中,我们可以更清楚地看到信号的频率特性。

例如,对于噪声信号,我们可以看到其频率分布较为均匀;对于含有正弦波和方波的混合信号,我们可以看到其包含了不同频率的分量。

哈工程数字信号处理实验报告1

哈工程数字信号处理实验报告1

数字信号处理实验实验一:基本信号班级:姓名:学号:指导教师:2012年10月实验一:基本信号一:实验原理:本节专注于用MATLAB产生一些基本离散信号的问题。

主要是有那个MATLAB内部向量程序来产生信号。

用MATLAB的stem指令会出离散时间信号。

依据MATLAB的编址约定,标号n=0必须对应nn(1);必须给指定向量的第一个参数以得到正确的n轴。

二:实验内容:1.冲击信号产生并绘出下面的序列。

在每种情况下,水平n轴应该只在指定的区间上展开并应该相应标注。

使用stem指令使每个序列显示成离散时间信号。

x[n]=0.9δ[n-5] 1<=n<=20x[n]=0.8δ[n] -15<=n<=15x[n]=1.5δ[n-333] 300<=n<=350x[n]=4.5δ[n+7] -10<=n<=0L=20;nn=1:(L);imp=zeros(L,1);imp(5)=0.9;stem(nn,imp))L=31;nn=-15:(L-16);imp=zeros(L,1);imp(16)=0.8;stem(nn,imp))L=51;nn=300:350;imp=[zeros(L,1)]'; imp(34)=1.5 stem(nn,imp)L=11;nn=-10:(L-11);imp=zeros(L,1);imp(4)=4.5;stem(nn,imp)实验分析:所得4个图形均符合题目要求3、指数信号衰减的指数信号是数字信号是数字信号处理的基本信号。

因为它是线性常系数差分方程的解。

A.使用函数在区间n=0,1,2,。

,20上绘出信号x[n]=(0.9)ⁿ。

B.在许多推导中,指数信号序列aⁿu[n]须在有限区间上求和。

使用(a)中的函数产生一个指数信号然后对其求和并比较结果。

C.指数序列在信号处理中常常出现的一个原因是,时移并不改变其信号特征。

证明一有限长指数信号满足移位关系:y[n]=ay[n-1], 1<=n<=L-1比较向量y(2:L)和a*y(1:L-1)。

数字信号处理实验报告

数字信号处理实验报告
n=100;
x= randn (size(1 : n));
plot(x);
运行结果:
四、习题
1.设某旋转构件的故障信号是一个正弦信号,一般情况下,这只是机构的安装有偏心误差,但信号s(n)很弱,在强噪声干扰下,想在一个周期的测量信号x(n)看上去到故障信号s(n)的形状是不可能的,已知该构件的转动周期为T=10(10个采样周期),用时间平均法检测,取测量信号x(n)长度为M个转动周期,经过时间平均后,噪声逐渐减弱,信号突出来,M分别为10、50、100、500和1000的时间平均后的结果,信噪比提高到8.73、13.7、24.62和30.62dB。
matlab代码:
1.
dalta=zeros(1,5);
dalta(1)=1;
x=[1,2,1,3];
conv(x,dalta)
运行结果:
ans =1 2 1 3 0 0 0 0
2.
dalta=zeros(1,5);
dalta(4)=1;
x=[1,2,1,3];
conv(x,dalta)
运行结果:
ans =0 0 0 1 2 1 3 0
运行结果:
结果分析:先求差分方程的z变换:
0.75Y(z) +0.125Y(z) =X(z)-X(z)
H(z)= = ,将指数转化为正值:H(z)= .然后再利用residuez()函数求 = 的展开式,matlab代码如下:
A=[0.75,0.125];
B=[1,-1];
[r,p,k]=residue(B,A)
学生实验心得
通过这次的数字信号处理实验,我学到了如何用matlab求两离散时间序列的卷积以及利用matlab提供的randn()函数产生随机数据,仿真白噪声,还学会了用时间平均法突出信号,减弱噪声、求由差分方程给出系统的单位冲激响应与单位阶跃响应。其中,在进行时间平均法使信号突出时,改正了代码中的错误,将subplot(322),plot(k,x)改成subplot(322),plot(k,s(1:n)),计算出的信噪比与题目中给出的大致相同,可能是MATLAB版本不同产生的差异,同时,从计算处理后的信噪比可以看出随着时间平均次数增多,信号逐渐被突出。

数字信号处理实验报告

数字信号处理实验报告

实验一:频谱分析与采样定理 subplot(3,1,1),stem(t,x2);title('指数信号'); subplot(3,1,2),stem(f1,y2);title('指数信号频谱'); subplot(3,1,3),plot(f2,y21);title('指数信号频谱'); %%%%%%%%%%%%%%%%%%%%%%%%% x3=x1.*x2; y3=T*abs(fft(x3)); y31=fftshift(y3); figure(3), subplot(3,1,1),stem(t,x3);title('两信号相乘'); subplot(3,1,2),stem(f1,y3);title('两信号相乘频谱'); subplot(3,1,3),plot(f2,y31);title('两信号相乘频谱'); 实验结果: T=1/10000,������������ =10000,L=0.10
1/ 5
实验二:卷积定理 Y2=fft(y2); Z2=X2.*Y2; z2=ifft(Z2); figure(3), subplot(321),stem(x2);title('x2'); subplot(322),stem(real(X2));title('X2'); subplot(323),stem(y2);title('y2'); subplot(324),stem(real(Y2));title('Y2'); subplot(325),stem(z2);title('z2'); subplot(326),stem(real(Z2));title('Z2'); N=6; x3=[x zeros(1,N-length(x))]; y3=[y zeros(1,N-length(y))]; X3=fft(x3); Y3=fft(y3); Z3=X3.*Y3; z3=ifft(Z3); figure(4), subplot(321),stem(x3);title('x3'); subplot(322),stem(real(X3));title('X3'); subplot(323),stem(y3);title('y3'); subplot(324),stem(real(Y3));title('Y3'); subplot(325),stem(z3);title('z3'); subplot(326),stem(real(Z3));title('Z3'); N=8; x4=[x zeros(1,N-length(x))]; y4=[y zeros(1,N-length(y))]; X4=fft(x4); Y4=fft(y4); Z4=X4.*Y4; z4=ifft(Z4); figure(5), subplot(321),stem(x4);title('x4'); subplot(322),stem(real(X4));title('X4'); subplot(323),stem(y4);title('y4'); subplot(324),stem(real(Y4));title('Y4'); subplot(325),stem(z4);title('z4'); subplot(326),stem(real(Z4));title('Z4'); %N=6 时

数字信号处理实验报告(全)

数字信号处理实验报告(全)

实验一、离散时间系统及离散卷积1、单位脉冲响应源程序:function pr1() %定义函数pr1a=[1,-1,0.9]; %定义差分方程y(n)-y(n-1)+0.9y(n-2)=x(n) b=1;x=impseq(0,-20,120); %调用impseq函数n=[-40:140]; %定义n从-20 到120h=filter(b,a,x); %调用函数给纵座标赋值figure(1) %绘图figure 1 (冲激响应) stem(n,h); %在图中绘出冲激title('冲激响应'); %定义标题为:'冲激响应'xlabel('n'); %绘图横座标为nylabel('h(n)'); %绘图纵座标为h(n)figure(2) %绘图figure 2[z,p,g]=tf2zp(b,a); %绘出零极点图zplane(z,p)function [x,n]=impseq(n0,n1,n2) %声明impseq函数n=[n1:n2];x=[(n-n0)==0];结果:Figure 1:Figure 2:2、离散系统的幅频、相频的分析源程序:function pr2()b=[0.0181,0.0543,0.0543,0.0181];a=[1.000,-1.76,1.1829,-0.2781];m=0:length(b)-1; %m从0 到3l=0:length(a)-1; %l从0 到3K=5000;k=1:K;w=pi*k/K; %角频率wH=(b*exp(-j*m'*w))./(a*exp(-j*l'*w));%对系统函数的定义magH=abs(H); %magH为幅度angH=angle(H); %angH为相位figure(1)subplot(2,1,1); %在同一窗口的上半部分绘图plot(w/pi,magH); %绘制w(pi)-magH的图形grid;axis([0,1,0,1]); %限制横纵座标从0到1xlabel('w(pi)'); %x座标为 w(pi)ylabel('|H|'); %y座标为 angle(H)title('幅度,相位响应'); %图的标题为:'幅度,相位响应' subplot(2,1,2); %在同一窗口的下半部分绘图plot(w/pi,angH); %绘制w(pi)-angH的图形grid; %为座标添加名称xlabel('w(pi)'); %x座标为 w(pi)ylabel('angle(H)'); %y座标为 angle(H)结果:3、卷积计算源程序:function pr3()n=-5:50; %声明n从-5到50u1=stepseq(0,-5,50); %调用stepseq函数声用明u1=u(n)u2=stepseq(10,-5,50); %调用stepseq函数声用明u2=u(n-10) %输入x(n)和冲激响应h(n)x=u1-u2; %x(n)=u(n)-u(n-10)h=((0.9).^n).*u1; %h(n)=0.9^n*u(n)figure(1)subplot(3,1,1); %绘制第一个子图stem(n,x); %绘制图中的冲激axis([-5,50,0,2]); %限定横纵座标的范围title('输入序列'); %规定标题为:'输入序列'xlabel('n'); %横轴为nylabel('x(n)'); %纵轴为x(n)subplot(3,1,2); %绘制第二个子图stem(n,h); %绘制图中的冲激axis([-5,50,0,2]); %限定横纵座标的范围title('冲激响应序列'); %规定标题为:'冲激响应序列'xlabel('n'); %横轴为nylabel('h(n)'); %纵轴为h(n)%输出响应[y,ny]=conv_m(x,n,h,n); %调用conv_m函数subplot(3,1,3); %绘制第三个子图stem(ny,y);axis([-5,50,0,8]);title('输出响应'); %规定标题为:'输出响应'xlabel('n');ylabel('y(n)'); %纵轴为y(n)%stepseq.m子程序%实现当n>=n0时x(n)的值为1function [x,n]=stepseq(n0,n1,n2)n=n1:n2;x=[(n-n0)>=0];%con_m的子程序%实现卷积的计算function [y,ny]=conv_m(x,nx,h,nh)nyb=nx(1)+nh(1);nye=nx(length(x))+nh(length(h));ny=[nyb:nye];y=conv(x,h);结果:实验二、离散傅立叶变换与快速傅立叶变换1、离散傅立叶变换(DFT)源程序:function pr4()F=50;N=64;T=0.000625;n=1:N;x=cos(2*pi*F*n*T); %x(n)=cos(pi*n/16)subplot(2,1,1); %绘制第一个子图x(n)stem(n,x); %绘制冲激title('x(n)'); %标题为x(n)xlabel('n'); %横座标为nX=dft(x,N); %调用dft函数计算x(n)的傅里叶变换magX=abs(X); %取变换的幅值subplot(2,1,2); %绘制第二个子图DFT|X|stem(n,X);title('DFT|X|');xlabel('f(pi)'); %横座标为f(pi)%dft的子程序%实现离散傅里叶变换function [Xk]=dft(xn,N)n=0:N-1;k=0:N-1;WN=exp(-j*2*pi/N);nk=n'*k;WNnk=WN.^nk;Xk=xn*WNnk;结果:F=50,N=64,T=0.000625时的波形F=50,N=32,T=0.000625时的波形:2、快速傅立叶变换(FFT)源程序:%function pr5()F=50;N=64;T=0.000625;n=1:N;x=cos(2*pi*F*n*T); %x(n)=cos(pi*n/16) subplot(2,1,1);plot(n,x);title('x(n)');xlabel('n'); %在第一个子窗中绘图x(n)X=fft(x);magX=abs(X);subplot(2,1,2);plot(n,X);title('DTFT|X|');xlabel('f(pi)'); %在第二个子图中绘图x(n)的快速傅%里叶变换结果:3、卷积的快速算法源程序:function pr6()n=0:14;x=1.^n;h=(4/5).^n;x(15:32)=0;h(15:32)=0;%到此 x(n)=1, n=0~14; x(n)=0,n=15~32% h(n)=(4/5)^n, n=0~14; h(n)=0,n=15~32subplot(3,1,1);stem(x);title('x(n)');axis([1,32,0,1.5]); %在第一个子窗绘图x(n)横轴从1到32,纵轴从0到1.5 subplot(3,1,2);stem(h);title('h(n)');axis([1,32,0,1.5]); %在第二个子窗绘图h(n)横轴从1到32,纵轴从0到1.5 X=fft(x); %X(n)为x(n)的快速傅里叶变换H=fft(h); %H(n)为h(n)的快速傅里叶变换Y=X.*H; %Y(n)=X(n)*H(n)%Y=conv(x,h);y=ifft(Y); %y(n)为Y(n)的傅里叶反变换subplot(3,1,3) %在第三个子窗绘图y(n)横轴从1到32,纵轴从0到6 stem(abs(y));title('y(n=x(n)*h(n))');axis([1,32,0,6]);结果:实验三、IIR数字滤波器设计源程序:function pr7()wp=0.2*pi;ws=0.3*pi;Rp=1;As=25;T=1;Fs=1/T;OmegaP=(2/T)*tan(wp/2); %OmegaP(w)=2*tan(0.1*pi) OmegaS=(2/T)*tan(ws/2); %OmegaS(w)=2*tan(0.15*pi)ep=sqrt(10^(Rp/10)-1);Ripple=sqrt(1/(1+ep.^2));Attn=1/10^(As/20);N=ceil((log10((10^(Rp/10)-1)/(10^(As/10)-1)))/(2*log10(OmegaP/OmegaS) ));OmegaC=OmegaP/((10.^(Rp/10)-1).^(1/(2*N)));[cs,ds]=u_buttap(N,OmegaC);[b,a]=bilinear(cs,ds,Fs);[mag,db,pha,w]=freqz_m(b,a);subplot(3,1,1); %在第一个子窗绘制幅度响应的图形plot(w/pi,mag);title('幅度响应');xlabel('w(pi)');ylabel('H');axis([0,1,0,1.1]);set(gca,'XTickmode','manual','XTick',[0,0.2,0.35,1.1]);set(gca,'YTickmode','manual','YTick',[0,Attn,Ripple,1]);grid;subplot(3,1,2); %在第二个子窗以分贝为单位绘制幅度响应的图形plot(w/pi,db);title('幅度响应(dB)');xlabel('w(pi)');ylabel('H');axis([0,1,-40,5]);set(gca,'XTickmode','manual','XTick',[0,0.2,0.35,1.1]);set(gca,'YTickmode','manual','YTick',[-50,-15,-1,0]);grid;subplot(3,1,3); %在第三个子窗绘制相位响应的图形plot(w/pi,pha);title('相位响应');xlabel('w(pi)');ylabel('pi unit');%axis([0,1,0,1.1]);set(gca,'XTickmode','manual','XTick',[0,0.2,0.35,1.1]);set(gca,'YTickmode','manual','YTick',[-1,0,1]);grid;function [b,a]=u_buttap(N,OmegaC)[z,p,k]=buttap(N);p=p*OmegaC;k=k*OmegaC.^N;B=real(poly(z));b0=k;b=k*B;a=real(poly(p));function [mag,db,pha,w]=freqz_m(b,a)[H,w]=freqz(b,a,1000,'whole');H=(H(1:501))';w=(w(1:501))';mag=abs(H);db=20*log10((mag+eps)/max(mag));pha=angle(H);结果:实验四、FIR数字滤波器的设计源程序:function pr8()wp=0.2*pi;ws=0.35*pi;tr_width=ws-wp;M=ceil(6.6*pi/tr_width)+1;n=0:M-1;wc=(ws+wp)/2;alpha=(M-1)/2;m=n-alpha+eps;hd=sin(wc*m)./(pi*m);w_ham=(hamming(M))';h=hd.*w_ham;[mag,db,pha,w]=freqz_m(h,[1]);delta_w=2*pi/1000;Rp=-(min(db(1:wp/delta_w+1)));As=-round(max(db(ws/delta_w+1:501)));subplot(2,2,1);stem(n,hd);title('理想冲激响应');axis([0,M-1,-0.1,0.3]);ylabel('hd(n)');subplot(2,2,2);stem(n,h);title('实际冲激响应');axis([0,M-1,-0.1,0.3]);ylabel('h(n)');subplot(2,2,3);plot(w/pi,pha);title('滤波器相位响应');axis([0,1,-pi,pi]);ylabel('pha');set(gca,'XTickmode','manual','XTick',[0,0.2,0.3,1.1]); set(gca,'YTickmode','manual','YTick',[-pi,0,pi]); grid;subplot(2,2,4);plot(w/pi,db);title('滤波器幅度响应');axis([0,1,-100,10]);ylabel('H(db)');set(gca,'XTickmode','manual','XTick',[0,0.2,0.3,1.1]); set(gca,'YTickmode','manual','YTick',[-50,-15,0]);function [mag,db,pha,w]=freqz_m(b,a)[H,w]=freqz(b,a,1000,'whole');H=(H(1:501))';w=(w(1:501))';mag=abs(H);db=20*log10((mag+eps)/max(mag));pha=angle(H);结果:。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验原理IIR数字滤波器一、脉冲响应不变法变换原理将模拟滤波器的s平面变换成数字滤波器的平面,而将模拟滤波器映射成数字滤波器。

MATLAB 信号处理工具箱中提供了IIR数字滤波器设计的函数,常用的函数:IIR滤波器的阶数选择Buttord----巴特沃斯滤波器阶数选择cheb1ord-----切比雪夫I型滤波器阶数选择cheb2ord ----切比雪夫Ⅱ型滤波器阶数选择IIR滤波器的设计Buttrer-----巴特沃斯滤波器设计cheby1-----切比雪夫I型滤波器设计cheby2 ----切比雪夫Ⅱ型滤波器设计maxflat----通用的巴特沃斯低通滤波器设计二、巴特沃斯滤波器设计巴特沃斯滤波器是通带,阻带都单调衰减的滤波器。

(1)调用buttord函数确定巴特沃斯滤波器的阶数,格式[N,Wc]=buttord(Wp,Ws,Ap,As)(2)调用butter函数设计巴特沃斯滤波器,格式[b,a]=butter(N,Wc,options)利用以上两个函数可以设计出模拟滤波器,格式为[N,Wc]=buttord(Wp,Ws,Ap,As,’s’)[b,a]=butter(N,Wc,options.’s’)三、切比雪夫I型滤波器的设计切比雪夫I型滤波器为通带波纹控制器;在通带呈现波纹特性,阻带单调衰减。

[N,Wc]= cheb1ord (Wp,Ws,Ap,As)[b,a]= cheby1 (N,Ap,Wc,options)四、切比雪夫Ⅱ型滤波器的设计切比雪夫Ⅱ型滤波器为阻带波纹控制器;在阻带呈现波纹特性,通带单调衰减。

[N,Wc]= cheb2ord (Wp,Ws,Ap,As)[b,a]= cheby2 (N,As,Wc,options)已知模拟滤波器。

可以利用脉冲响应不变法转换函数impinvar将其变为数字滤波器,调用格式为[bz,az]=impinvar(b,a,Fs).五、双线性变换原理采用非线性频率压缩方法,克服了脉冲响应不变法产生频率响应的混叠失真,使是s平面与z平面建立了一一对应的单值关系,消除多值变换性,频谱混叠现象。

已知模拟滤波器,可以利用双线性变换函数bilinear将其变换为数字滤波器,调用格式为[bz,az]=bilinear(b,a,Fs).FIR窗函数法设计FIR数字滤波器FIR滤波器设计需使频率响应H(ejw)逼近所要求的理想频率响应,窗函数法设计FIR数字滤波器是在时域中进行的,用窗函数截取无限长的hd(n),这样H(ejw)逼近与理想值。

一旦选取了窗函数,其指标就是给定的,所以由窗函数设计FIR滤波器就是有阻带衰减指标确定用什么窗,由过渡带宽估计窗函数的长达N。

常用的有:hd=boxcar(N) ht=triang(N) hd=hanning(N)hd=hamming(N) hd=blackman(N) hd=kaiser(N,β)MATLAB中提供的fir可以用来设计FIR滤波器,调用格式为h=fir1(M,Wc,’ftype’,window)实验内容一1、要求通带截止频率fp=3KHz,通带最大衰减ap=1dB,阻带截止fs=4.5kHz,阻带最小衰减as=15dB,采样频率fc=30kHz,用脉冲响应不变法设计一个切比雪夫低通滤波器,并图示滤波器的振幅特性,检验wp,ws对应的衰减。

(1)>> wp=6*pi*10^3;ws=9*pi*10^3;ap=1;as=15;>> Fs=30*10^3;>> wp1=wp/Fs;ws1=ws/Fs; %参数设置>> [N,WC]=cheb1ord(wp,ws,ap,as,'s');>> [b,a]=cheby1(N,ap,WC,'s'); %采用切比雪夫I型滤波器设计>> [bz,az]=impinvar(b,a,Fs); %采用脉冲响应不变法>> w0=[wp1,ws1];>> Hx=freqz(bz,az,w0);>> [H,W]=freqz(bz,az);>> dbHx=-20*log10(abs(Hx)/max(abs(H))); %显示幅频特性>> plot(W,abs(H));>> xlabel('相对频率');ylabel('幅频');>> grid>>得到的结果如下>> bzbz =-0.0000 0.0054 0.0181 0.0040 0>> azaz =1.0000 -3.0591 3.8323 -2.2919 0.5495>> dbHxdbHx =1.0005 21.5790结果显示ap 略大于1,as 符合要求,得到的图形文件如下所示0.511.522.533.500.20.40.60.811.21.4相对频率幅频(2)>> wp=6*pi*10^3;ws=9*pi*10^3;ap=1;as=15; >> Fs=30*10^3;>> wp1=wp/Fs;ws1=ws/Fs; %参数设置 >> [N,WC]=cheb2ord(wp,ws,ap,as,'s');>> [b,a]=cheby2(N,as,WC,'s'); %采用切比雪夫Ⅱ型滤波器设计 >> [bz,az]=impinvar(b,a,Fs); %采用脉冲响应不变法 >> w0=[wp1,ws1];>> Hx=freqz(bz,az,w0); >> [H,W]=freqz(bz,az);>> dbHx=-20*log10(abs(Hx)/max(abs(H))); %显示幅频特性 >> plot(W,abs(H));>> xlabel('相对频率');ylabel('幅频'); >> grid >> bz得到的结果及图形文件如下 bz =-0.3682 0.9359 -0.8472 0.4014 0.0000>> azaz =1.0000 -1.9388 1.7388 -0.6968 0.1261>> dbHxdbHx =0.0449 8.796700.511.522.533.50.40.50.60.70.80.911.11.21.3相对频率幅频显然,这种设计不符合要求.2、 用双线性变换法设计一个切比雪夫I 型数字高通滤波器,技术指标为:采样频率fc=2kHz,通带截止频率fp=700Hz,通带最大衰减ap<=1dB,阻带边缘频率fs=500Hz,阻带最小衰减as>=32Db. 程序如下>> wp=2000*pi;ws=500*pi;ap=1;as=32; >> wp=1400*pi;ws=1000*pi;ap=1;as=32; >> Fs=2000;>> wp1=wp/Fs;ws1=ws/Fs;>> omp1=2*Fs*tan(wp1/2);omps=2*Fs*tan(ws1/2);>> [N,WC]=cheb1ord(omp1,omps,ap,as,'s'); %采用切比雪夫Ⅰ型滤波器设计 >> [b,a]=cheby1(N,ap,WC,'high','s');>> [bz,az]=bilinear(b,a,Fs); %采用双线性变换法 Warning: Matrix is close to singular or badly scaled.Results may be inaccurate. RCOND = 8.974782e-024. > In bilinear at 8900.511.522.533.5相对频率幅频Warning: Matrix is close to singular or badly scaled.Results may be inaccurate. RCOND = 8.974782e-024. > In bilinear at 90 >> w0=[wp1,ws1]; >> Hx=freqz(bz,az,w0); >> [H,W]=freqz(bz,az);>> dbHx=-20*log10(abs(Hx)/max(abs(H))); >> plot(W,abs(H));>> xlabel('相对频率');ylabel('幅频'); >> grid 得到的结果及图形文件如下>> bzbz =0.0084 -0.0335 0.0502 -0.0335 0.0084 >>>> azaz =1.00002.3741 2.7057 1.5917 0.4103>> dbHxdbHx =1.0000 33.1098 可见,ap,as 符合设计要求二1、窗函数法设计低通滤波器,w=0.4,(1)N=26,分别利用矩形窗、汉宁窗和blackman 窗设计该滤波器,且滤波器具有线性相位。

绘出脉冲响应h(n)及滤波器的频率响应。

>> N=26; >> wc=0.4; >> nn=[0:25];>> h1=fir1(25,wc,boxcar(N)); %利用矩形窗 >> [H,W]=freqz(h1,1); >> subplot(311),plot(nn,h1) >> title('矩形窗频率响应') >> xlabel('nn'),ylabel('h1')510152025矩形窗频率响应nnh 10.050.10.150.20.250.30.350.40.450.5矩形窗幅频特性响应wa b s矩形窗相频特性响应wa n g l e0510152025blackman 窗频率响应nnh 300.050.10.150.20.250.30.350.40.450.5blackman 窗幅频特性响应wa b sblackman 窗相频特性响应wa n g l e510152025汉宁窗频率响应nnh 20.050.10.150.20.250.30.350.40.450.5汉宁窗幅频特性响应wa b s0.050.10.150.20.250.30.350.40.450.5汉宁窗相频特性响应wa n g l e>> subplot(312),plot(W/2/pi,abs(H)) >> title('矩形窗幅频特性响应') >> xlabel('w'),ylabel('abs')>> subplot(313),plot(W/2/pi,angle(H)*180/pi) >> title('矩形窗相频特性响应') >>xlabel('w'),ylabel('angle')>> N=26; %利用汉宁窗 >> wc=0.4; >> nn=[0:25];>> h2=fir1(25,wc,hanning(N)); >> [H,W]=freqz(h2,1); >> subplot(311),plot(nn,h2) >> title('汉宁窗频率响应') >> xlabel('nn'),ylabel('h2')>> subplot(312),plot(W/2/pi,abs(H)) >> title('汉宁窗幅频特性响应') >> xlabel('w'),ylabel('abs')>> subplot(313),plot(W/2/pi,angle(H)*180/pi) >> title('汉宁窗相频特性响应') >> xlabel('w'),ylabel('angle')>> N=26; %利用blackman 窗>> wc=0.4;>> nn=[0:25];>> h3=fir1(25,wc,blackman(N)); >> [H,W]=freqz(h3,1);>> subplot(311),plot(nn,h3)>> title('blackman 窗频率响应')>> xlabel('nn'),ylabel('h3') >> subplot(312),plot(W/2/pi,abs(H))>> title('blackman 窗幅频特性响应')>> xlabel('w'),ylabel('abs') >> subplot(313),plot(W/2/pi,angle(H)*180/pi)(2)增加N 至N=66,观察过渡带和最大尖峰值的变化。

相关文档
最新文档