数字信号处理实验报告

合集下载

数字信号处理实验报告

数字信号处理实验报告

《数字信号处理》实验报告学院:信息科学与工程学院专业班级:通信1303姓名学号:实验一 常见离散时间信号的产生和频谱分析一、 实验目的(1) 熟悉MATLAB 应用环境,常用窗口的功能和使用方法;(2) 加深对常用离散时间信号的理解;(3) 掌握简单的绘图命令;(4) 掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对离散信号进行频域分析。

二、 实验原理(1) 常用离散时间信号a )单位抽样序列⎩⎨⎧=01)(n δ00≠=n n 如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:⎩⎨⎧=-01)(k n δ0≠=n k n b )单位阶跃序列⎩⎨⎧=01)(n u 00<≥n n c )矩形序列 ⎩⎨⎧=01)(n R N 其他10-≤≤N nd )正弦序列)sin()(ϕ+=wn A n xe )实指数序列f )复指数序列()()jw n x n e σ+=(2)离散傅里叶变换:设连续正弦信号()x t 为0()sin()x t A t φ=Ω+这一信号的频率为0f ,角频率为002f πΩ=,信号的周期为00012T f π==Ω。

如果对此连续周期信号()x t 进行抽样,其抽样时间间隔为T ,抽样后信号以()x n 表示,则有0()()sin()t nT x n x t A nT φ===Ω+,如果令w 为数字频率,满足000012s sf w T f f π=Ω=Ω=,其中s f 是抽样重复频率,简称抽样频率。

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

对长度为N 的有限长序列x(n), 有∑-=-=10)()(N n n jw jw k k e n x e X其中 1,,1,02-==M k k Mw k ,π 通常M 应取得大一些,以便观察谱的细节变化。

取模|)(|k jw e X 可绘出幅频特性曲线。

数字信号处理实验报告_王炜_20150518 湖南工业大学

数字信号处理实验报告_王炜_20150518 湖南工业大学

电气与信息工程学院数字信号处理实验报告老师:舒小华姓名:王炜学号:12401720207班级:电子信息1202时间:2015年5月实验一快速傅里叶变换及其应用一、实验目的(1)在理论学习的基础上,通过本实验,加强对FFT的理解,熟悉MATLAB中有关函数。

(2)应用FFT对典型信号进行频谱分析。

(3)了解应用FFT进行信号频谱分析过程中可能出现的问题,以便在实际中正确应用FFT.(4)应用相关FFT实现序列的线性卷积和相关。

二、实验内容实验用到的信号序列:高斯序列衰减正弦序列三角波序列反三角波序列上机实验内容:(1)观察高斯序列的时域和幅频特性,固定信号中参数p=8,改变q的值,使q 分别等于2、4、8,观察他们的时域和幅频特性,了解当q去不同值时,对信号序列的时域和频域特性的影响;固定q=8,改变p,使p分别为等于8、13、14,观察参数p变化对信号序列的时域以及频域特性的影响,注意p等于多少时,会发生明显的泄露现象,混叠是否也随之出现?记录实验中观察到的现象,绘制相应的时域序列和幅频特性曲线。

代码如下:clear all;%p=8,q=2%[Xa1,Fa1]=gauss(8,2);k=0:15;subplot(5,2,1);plot(k,Xa1);Xlabel('n');Ylabel('时域特性');text(10,0.5,'p=8,q=2');subplot(5,2,2);plot(k,Fa1);Xlabel('n');Ylabel('幅频特性'); text(8,3,'p=8,q=2');%p=8,q=4%[Xa1,Fa1]=gauss(8,4); k=0:15;subplot(5,2,3);plot(k,Xa1);Xlabel('n');Ylabel('时域特性'); text(10,0.5,'p=8,q=4'); subplot(5,2,4);plot(k,Fa1);Xlabel('n');Ylabel('幅频特性'); text(8,3,'p=8,q=4');%p=8,q=8%[Xa1,Fa1]=gauss(8,8); k=0:15;subplot(5,2,5);plot(k,Xa1);Xlabel('n');Ylabel('时域特性'); text(10,0.5,'p=8,q=8'); subplot(5,2,6);plot(k,Fa1);Xlabel('n');Ylabel('幅频特性'); text(8,3,'p=8,q=8');%p=8,q=8%[Xa1,Fa1]=gauss(13,8); k=0:15;subplot(5,2,7);plot(k,Xa1);Xlabel('n');Ylabel('时域特性'); text(10,0.5,'p=13,q=8'); subplot(5,2,8);plot(k,Fa1);Xlabel('n');Ylabel('幅频特性');text(8,3,'p=13,q=8');%p=8,q=8%[Xa1,Fa1]=gauss(14,8);k=0:15;subplot(5,2,9);plot(k,Xa1);Xlabel('n');Ylabel('时域特性');text(10,0.5,'p=14,q=8');subplot(5,2,10);plot(k,Fa1);Xlabel('n');Ylabel('幅频特性');text(8,3,'p=14,q=8');(2)观察衰减正弦序列的时域和幅频特性,a=0.1,f=0.0625,检查峰值出现的位置是否正确,注意频谱的形状,绘出频谱特性曲线,改变发,使分别等于0.4375和0.5625,观察这两种情况下,频谱的形状和频谱出现的位置,有无混叠、泄露现象?说明产生现象的原因。

华工 数字信号处理实验报告

华工 数字信号处理实验报告

数字信号处理实验报告班级:姓名:组号:第九组日期:二零一四年十一月实验1 常见离散信号产生和实现一、实验目的1、加深对常用离散信号的理解;2、熟悉使用MATLAB在时域中产生一些基本的离散时间信号。

二、实验原理1、单位抽样序列在MATLAB中可以利用函数实现。

2、单位阶越序列在MATLAB中可以利用函数实现:3、正弦序列在MATLAB中实现过程如下:4、复指数序列在MATLAB中实现过程如下:5、指数序列在MATLAB中实现过程如下:三、预习要求1、预先阅读实验讲义(MATLAB基础介绍);2、讨论正弦序列、复指数序列的性质。

A.绘出信号,当、时、、时的信号实部和虚部图;当时呢?此时信号周期为多少?程序dsp1.m如下:titlez1=-1/12+j*pi/6;titlez2=1/12+j*pi/6;z3=1/12;z4=2+j*pi/6;z5=j*pi/6;n=0:20;x1=exp(titlez1*n);x2=exp(titlez2*n);x3=exp(z3*n);x4=exp(z4*n);x5=exp(z5*n);subplot(5,2,1);stem(n,real(x1));xlabel('n');ylabel('real(x1)'); title('z1=-1/12+j*pi/6时') subplot(5,2,2);stem(n,imag(x1));xlabel('n');ylabel('imag(x1)'); title('z1=-1/12+j*pi/6时') subplot(5,2,3);stem(n,real(x2));xlabel('n');ylabel('real(x2)'); title('z2=1/12+j*pi/6时')subplot(5,2,4);stem(n,imag(x2));xlabel('n');ylabel('image(x2)'); title('z2=1/12+j*pi/6时')subplot(5,2,5);stem(n,real(x3));xlabel('n');ylabel('real(x3)'); title('z3=1/12时')subplot(5,2,6);stem(n,imag(x3));xlabel('n');ylabel('image(x3)');title('z3=1/12时')subplot(5,2,7);stem(n,real(x4));xlabel('n');ylabel('real(x4)'); title('z4=2+j*pi/6时')subplot(5,2,8);stem(n,imag(x4));xlabel('n');ylabel('image(x4)'); title('z4=2+j*pi/6时')subplot(5,2,9);stem(n,real(x5));xlabel('n');ylabel('real(x5)'); title('z5=j*pi/6时')subplot(5,2,10);stem(n,imag(x5));xlabel('n');ylabel('image(x5)'); title('z5=j*pi/6时')运行结果如下:结论:当Z=pi/6时,序列周期为12。

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

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

数字信号处理实验报告班级:****姓名:郭**学号:*****联系方式:*****西安电子科技大学电子工程学院绪论数字信号处理起源于十八世纪的数学,随着信息科学和计算机技术的迅速发展,数字信号处理的理论与应用得到迅速发展,形成一门极其重要的学科。

当今数字信号处理的理论和方法已经得到长足的发展,成为数字化时代的重要支撑,其在各个学科和技术领域中的应用具有悠久的历史,已经渗透到我们生活和工作的各个方面。

数字信号处理相对于模拟信号处理具有许多优点,比如灵活性好,数字信号处理系统的性能取决于系统参数,这些参数很容易修改,并且数字系统可以分时复用,用一套数字系统可以分是处理多路信号;高精度和高稳定性,数字系统的运算字符有足够高的精度,同时数字系统不会随使用环境的变化而变化,尤其使用了超大规模集成的DSP 芯片,简化了设备,更提高了系统稳定性和可靠性;便于开发和升级,由于软件可以方便传送,复制和升级,系统的性能可以得到不断地改善;功能强,数字信号处理不仅能够完成一维信号的处理,还可以试下安多维信号的处理;便于大规模集成,数字部件具有高度的规范性,对电路参数要求不严格,容易大规模集成和生产。

数字信号处理用途广泛,对其进行一系列学习与研究也是非常必要的。

本次通过对几个典型的数字信号实例分析来进一步学习和验证数字信号理论基础。

实验一主要是产生常见的信号序列和对数字信号进行简单处理,如三点滑动平均算法、调幅广播(AM )调制高频正弦信号和线性卷积。

实验二则是通过编程算法来了解DFT 的运算原理以及了解快速傅里叶变换FFT 的方法。

实验三是应用IRR 和FIR 滤波器对实际音频信号进行处理。

实验一●实验目的加深对序列基本知识的掌握理解●实验原理与方法1.几种常见的典型序列:0()1,00,0(){()()(),()sin()j n n n n u n x n Aex n a u n a x n A n σωωϕ+≥<====+单位阶跃序列:复指数序列:实指数序列:为实数 正弦序列:2.序列运算的应用:数字信号处理中经常需要将被加性噪声污染的信号中移除噪声,假定信号 s(n)被噪声d(n)所污染,得到了一个含噪声的信号()()()x n s n d n =+。

Matlab数字信号处理实验报告

Matlab数字信号处理实验报告

Matlab数字信号处理实验报告本次实验使用MATLAB进行数字信号处理操作,目的是熟悉MATLAB中数字信号处理的相关工具箱,并进一步理解数字信号处理的基本概念和算法。

一、实验内容1.信号的生成与显示2.时域分析和频域分析3.滤波器设计4.数字滤波器性能分析二、实验步骤在MATLAB中,使用sawtooth函数生成一个锯齿波信号,并使用plot函数进行时域波形的显示。

代码如下:f = 1000;fs = 40000;t = 0:1/fs:0.01;y = sawtooth(2*pi*f*t);plot(t,y);xlabel('Time (s)');ylabel('Amplitude');title('Sawtooth Wave');时域分析包括波形的观察和参数分析,如幅值、均值、方差等。

频域分析则是对信号进行傅里叶变换,得到其频谱图,包括频率分布和强度分布。

%时域分析amp = max(y)-min(y);mean_y = mean(y);var_y = var(y);设计一个低通滤波器,将高于1kHz的频率成分滤掉。

对滤波后的信号进行时域分析和频域分析,比较滤波前后信号的特征参数和频谱特征,并绘制原始信号、滤波后信号及其频谱图。

subplot(2,2,1);plot(t,y);xlabel('Time (s)');ylabel('Amplitude');title('Sawtooth Wave');subplot(2,2,2);plot(t,y_filt);xlabel('Time (s)');ylabel('Amplitude');title('Sawtooth Wave After Filter');subplot(2,2,3:4);plot(f2,fft_y_filt,'r',f,fft_y,'g');xlabel('Frequency (Hz)');ylabel('Amplitude');title('Sawtooth Wave Spectrum Comparison');legend('After Filter','Before Filter');三、实验结果与分析通过生成并显示一段锯齿波信号,并对其进行时域和频域分析,可以得到该信号的关键信息,如幅值、均值、方差和频率分布特性。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

数字信号处理实验报告

《数字信号处理》—实验指导数字信号处理课程组电子与信息工程学院班级:姓名:学号:综合评定:成绩:指导教师签字:实验一 典型离散信号及其MATLAB 实现一、实验目的1. 掌握MATLAB 语言的基本操作,学习基本的编程功能。

2. 掌握MATLAB 产生常用离散时间信号的编程方法。

3. 掌握MATLAB 计算卷积的方法。

二、实验原理(一)MATLAB 常用离散时间信号1. 单位抽样序列:⎩⎨⎧=01)(n δ 00≠=n n在MATLAB 中可以利用zeros()函数实现。

;1)1();,1(==x N zeros x如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:⎩⎨⎧=-01)(k n δ 0≠=n kn2.单位阶跃序列:⎩⎨⎧01)(n u<≥n n 在MATLAB 中可以利用ones()函数实现。

);,1(N ones x =3.正弦序列:)/2sin()(ϕπ+=Fs fn A n x在MATLAB 中:)/***2sin(*1:0fai Fs n f pi A x N n +=-=4.复正弦序列:n j e n x ϖ=)(在MATLAB 中:)**ex p(1:0n w j x N n =-=5.指数序列:na n x =)(在MATLAB 中:na x N n .^1:0=-=6.y=fliplr(x)——信号的翻转; y=square(x)——产生方波信号y=sawtooth(x)——产生锯齿波信号; y=sinc(x)——产生sinc 函数信号。

(二)离散时间信号的卷积由于系统的零状态响应是激励与系统的单位取样响应的卷积,因此卷积运算在离散时间信号处理领域被广泛应用。

离散时间信号的卷积定义为∑∞-∞=-==m m n h m x n h n x n y )()()(*)()(可见,离散时间信号的卷积运算是求和运算,因而常称为“卷积和”。

MATLAB 求离散时间信号卷积和的命令为conv ,其语句格式为y=conv(x,h)其中,x 与h 表示离散时间信号值的向量;y 为卷积结果。

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

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

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

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

4 总结。

数字信号处理实验报告四IIR数字滤波器设计及软件实现

数字信号处理实验报告四IIR数字滤波器设计及软件实现实验目的:本实验的目的是了解IIR数字滤波器的设计原理和实现方法,通过MATLAB软件进行数字滤波器设计和信号处理实验。

一、实验原理IIR数字滤波器是一种使用有限数量的输入样本和前一次输出值的滤波器。

它通常由差分方程和差分方程的系数表示。

IIR滤波器的特点是递归结构,故其频率响应是无限长的,也就是说它的频率响应在整个频率范围内都是存在的,而不像FIR滤波器那样只有在截止频率处才有响应。

根据设计要求选择合适的滤波器类型和滤波器结构,然后通过对滤波器的模型进行参数化,设计出满足滤波要求的IIR滤波器。

常见的IIR滤波器设计方法有模拟滤波器设计方法和数字滤波器设计方法。

在本实验中,我们主要使用数字滤波器设计方法,即离散时间滤波器设计方法。

二、实验内容(一)设计IIR数字滤波器的步骤:1.确定滤波器类型:根据滤波要求选择合适的滤波器类型,如低通滤波器、高通滤波器、带通滤波器、带阻滤波器等。

2.确定滤波器的阶数:根据滤波要求确定滤波器的阶数。

阶数越高,滤波器的频率响应越陡峭,但计算复杂度也越高。

3. 设计滤波器原型:根据滤波要求,设计滤波器的原型。

可以选择Butterworth滤波器、Chebyshev滤波器、Elliptic滤波器等作为原型。

4.选择滤波器结构:根据计算机实现条件和算法复杂度,选择合适的滤波器结构。

常见的滤波器结构有直接形式I、直接形式II、级联形式等。

5.参数化滤波器模型:根据原型滤波器的差分方程,选择合适的参数化方法。

常见的参数化方法有差分方程法、极点/零点法、增益法等。

6.根据参数化的滤波器模型,计算出所有的滤波器系数。

(二)用MATLAB软件实现IIR数字滤波器设计:1.打开MATLAB软件,并创建新的脚本文件。

2. 在脚本文件中,使用MATLAB提供的滤波器设计函数,如butter、cheby1、ellip等,选择合适的滤波器类型进行设计。

数字信号处理实验报告1-5

实验一时域离散信号的产生及时域处理实验目的:了解Matlab软件数字信号处理工具箱的初步使用方法。

掌握其简单的Matlab语言进行简单的时域信号分析。

实验内容:[1.1]已知两序列x1=[0,1,2,3,4,3,2,1,0];n1=[-2:6];x2=[2,2,0,0,0,-2,-2],n2=[2:8].求他们的和ya及乘积yp. 程序如下:x1=[0,1,2,3,4,3,2,1,0];ns1=-2;x2=[2,2,0,0,0,-2,-2];ns2=2;nf1=ns1+length(x1)-1;nf2=ns2+length(x2)-1;ny=min(ns1,ns2):max(nf1,nf2);xa1=zeros(1,length(ny));xa2=xa1;xa1(find((ny>=ns1)&(ny<=nf1)==1))=x1;xa2(find((ny>=ns2)&(ny<=nf2)==1))=x2;ya=xa1+xa2yp=xa1.*xa2subplot(4,4,1),stem(ny,xa1,'.')subplot(4,1,2),stem(ny,xa2,'.')line([ny(1),ny(end)],[0,0])subplot(4,1,3),stem(ny,ya,'.')line([ny(1),ny(end)],[0,0])subplot(4,1,4),stem(ny,yp,'.')line([ny(1),ny(end)],[0,0])[1.2]编写产生矩形序列的程序。

并用它截取一个复正弦序列,最后画出波形。

程序如下:clear;close alln0=input('输入序列起点:n0=');N=input('输入序列长度:N=');n1=input('输入位移:n1=');n=n0:n1+N+5;u=[(n-n1)>=0];x1=[(n-n1)>=0]-[(n-n1-N)>=0];x2=[(n>=n1)&(n<(N+n1))];x3=exp(j*n*pi/8).*x2;subplot(2,2,1);stem(n,x1,'.');xlabel('n');ylabel('x1(n)');axis([n0,max(n),0,1]);subplot(2,2,3);stem(n,x2,'.');xlabel('n');ylabel('x2(n)');axis([n0,max(n),0,1]);subplot(2,2,2);stem(n,real(x3),'.'); xlabel('n');ylabel('x3(n)的实部');line([n0,max(n)],[0,0]);axis([n0,max(n),-1,1]);subplot(2,2,4);stem(n,imag(x3),'.'); xlabel('n');ylabel('x3(n)的虚部');line([n0,max(n)],[0,0]);axis([n0,max(n),-1,1]);[1.3]利用已知条件,利用MATLAB生成图形。

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

《数字信号处理》实验报告 专 业 电子信息工程 学 号 091308304 姓 名 丁宝宝 实验一 利用FFT实现快速卷积 一、实验目的 1.加深理解FFT在实现数字滤波(或快速卷积)中的重要作用,更好的利用FFT进行数字信号处理。 2.掌握循环卷积和线性卷积两者之间的关系。 二、实验原理

用FFT来快速计算有限长度序列的线性卷积。 这种方法就是先将输入信号x(n)通过FFT变换为它的频谱采样值()xk,然后再和FIR滤波器的频响采样值H(k)相乘,H(k)可事先存放在存储器中,最后再将乘积H(k)X(k)通过快速傅里叶变换(简称IFFT)还原为时域序列,即得到输出y(n)。 现以FFT求有限长序列的卷积及求有限长度序列与较长序列间的卷积为例来讨论FFT的快速卷积方法。 序列x(n)和h(n)的长差不多。设x(n)的长为N1,h(n)的长为N2,要求 10)()()()()(N

mmnxmhnynxny

用FFT完成这一卷积的具体步骤如下: ①为使两有限长序列的线性卷积可用其循环卷积代替而不发生混叠,必须选择循环卷积长度121NNN,若采用基2-FFT完成卷积运算,要求mN2(m为整数)。 ②用补零方法使x(n)和h(n)变成列长为N的序列。

1122

()01()01()01()01xnnNxnNnNhnnNhnNnN











③用FFT计算x(n)和h(n)的N点离散傅里叶变换。 ④完成X(k)和H(k)乘积,)()()(kHkxkY ⑤用FFT计算 ()Yk的离散傅里叶反变换得 *10*10)(1)(1)(NknkNnkNN

kWkYNWkYNny

三、主要实验仪器及材料 微型计算机、Matlab6.5教学版。 四、实验内容 1.数字滤波器的脉冲响应为22()1/2(),8nNhnRnN。 输入序列x(n)可选下列几种情况 ①11()()8NxnRnN。 ②1112()cos()8NxnRnNN。

③111()()83nNxnRnN。 2.实验前,预先编制一个应用FFT实现数字滤波器的通用程序。 3.上机独立调试,并打印或记录实验结果。 4.将实验结果与预先笔算的结果比较,验证其正确性。 五、思考题 1.N同时取8、16、32时,线性卷积和循环卷积的结果有何不同,为什么?

2.分析直接计算线性卷积和利用FFT计算线性卷积的时间。 附程序 xn1=[1,1/2,1/4,1/8,1/16,1/32,1/64,1/128]; %建立x1(n)序列 xn2=[1,1,1,1,1,1,1,1]; %建立x2(n)序列 N=length(xn1); n=0:N-1;k=0:N-1; Xk1=fft(xn1,N); %由x1(n)的FFT求X1(k) Xk2=fft(xn2,N); %由x2(n)的FFT求 Yk=Xk1.*Xk2; %Y(k)=X1(k)X2(k) yn=ifft(Yk,N) %由Y(k)的IFFT求y(n) yn=abs(yn) subplot(2,3,1),stem(n,xn1,'k'); title('x1(n)'); subplot(2,3,2),stem(n,xn2,'k'); title('x2(n)'); subplot(2,3,3),stem(n,yn,'k'); title('y(n)'); subplot(2,3,4),stem(k,abs(Xk1),'k'); title('X1(k)'); subplot(2,3,5),stem(k,abs(Xk2),'k'); title('X2(k)'); subplot(2,3,6),stem(k,abs(Yk),'k'); title('Y(k)'); 实验二 数字滤波器的结构 一、 实验目的 (1) 加深对数字滤波器分类与结构的了解; (2) 明确数字滤波器的基本结构及其相互间的转换方法; (3) 掌握用MATLAB进行数字滤波器各种结构相互间转换的子函数及程序编写方法。 二、 实验原理 一个离散LSI系统可用系统函数来表示;

12001212120z11MmMmmMNNkNkkbzYbbzbzbzHzXzazazazaz









也可用差分方程来表示: 10NMkmkmynaynkbxnm

当ka至少有一个不为0时,则在有限z平面上存在极点,表示一个IIR数字滤波器;当ka全都为0时,系统不存在极点,表示一个FIR系统。 IIR数字滤波器的基本结构分为直接Ⅰ型、直接Ⅱ型、级联型和并联型。 FIR数字滤波器的基本结构分为横截型、级联型、并联型、、线性相位型和频率抽样型。 三、 实验仪器 微型计算机、MATLAB 四、 实验内容 (1) 已知一个IIR系统的系统函数为

1231230.10.40.40.110.30.550.2zzzHzzzz



将其从直接型转换为级联型和并联型结构,并画出各种结构的流程图。 (2) 已知一个FIR系统的系统函数为 12340.20.8850.212+0.212+0.885Hzzzzz 将其从横截型转换为级联型结构,并画出各种结构的流程图。 五、 实验程序

b=[8,-4,11,-2]; %输入系统函数b参数 a=[1,-1.25,0.75,-0.125]; %输入系统函数a参数 [sos,g]=tf2sos(b,a) %由直接型转换为级联型 [r,p,k]=residuez(b,a) %由直接型转换为并联型 六、 试验结果分析 实验三 用双线性变换法设计IIR数字滤波器 一、 实验目的 (1) 加深对双线性变换法设计FIR数字滤波器的基本原理的理解; (2) 掌握用双线性变换法设计数字低通、高通、带通滤波器的设计; (3) 了解MATLAB有关双线性变换法设计的常用子函数。 二、 实验原理 1. 设计思想

s平面与z平面之间满足以下映射关系:11211szsTz s平面的虚轴单值地映射于z平面的单位圆上,s平面的左半平面完全映射到z平面的单位圆内。双线性变换不存在混叠问题。

双线性变换是一种非线性变换2(/2)stgT,这种非线性引起的幅频特性畸变可通过预畸而得到校正。 2. 设计步骤 ((1)确定数字滤波器的性能指标:通带临界频率pf、阻带临界频率sf;通

带内的最大衰减pA;阻带内的最小衰减sA; (2)确定相应的数字角频率2,2ppssff;

(3)计算经过预畸的相应模拟低通原型的频率2(/2)stgT; (4)根据ps和计算模拟低通原型滤波器的阶数N,并求得低通原型的传递函数aHs; (5)用上面的双线性变换公式代入aHs,求出所设计的传递函数Hz; (6)分析滤波器特性,检查其指标是否满足要求。 三、 实验仪器 微型计算机、MATLAB 四、 实验内容 (1) 采用双线性变换法设计一个巴特沃斯数字低通滤波器,要求:通带截止频

率0.25,1ppdB,阻带截止频率0.4,15ssdB,滤波器的采样频率100sfHz,并画出滤波器的幅频响应曲线和相频响应曲线以及零极点图。 五、 实验程序 %双线性变换法设计巴特沃斯数字低通滤波器 %数字滤波器指标 wp=0.25*pi; %滤波器的通带截止频率 ws=0.4*pi; %滤波器的阻带截止频率 Rp=1;As=15; %输入滤波器的通阻带衰减指标 ripple=10^(-Rp/20); Attn=10^(-As/20); %转换为模拟原型滤波器指标 Fs=100;T=1/Fs; Omgp=(2/T)*tan(wp/2); Omgs=(2/T)*tan(ws/2); %模拟原型滤波器计算 [n,Omgc]=buttord(Omgp,Omgs,Rp,As,'s') %计算阶数n和截止频率 [z0,p0,k0]=buttap(n); %归一化切比雪夫1型原型设计 ba=k0*real(poly(z0)); %求原型滤波器系数b aa=real(poly(p0)); %求原型滤波器系数a [ba1,aa1]=lp2lp(ba,aa,Omgc);%变换为模拟低通滤波器 %注意,以上4行求滤波器系数ba1、aa1的程序,可由下一条程序替代 %[ba1,aa1]=butter(n,Omgc,'s'); %直接求模拟滤波器系数 %用双线性变换法计算数字滤波器系数 [bd,ad]=bilinear(ba1,aa1,Fs) %双线性变换 [sos,g]=tf2sos(bd,ad) %由直接型变换为级联型 %求数字系统的频率特性 [H,w]=freqz(bd,ad); dbH=20*log10(abs(H)/max(abs(H))); %化为分贝值 % subplot(2,2,1),plot(w/pi,abs(H)); ylabel('|H|');title('幅度响应');axis([0,1,0,1.1]); set(gca,'XTickMode','manual','XTick',[0,0.25,0.4,1]); set(gca,'YTickMode','manual','YTick',[0,Attn,ripple,1]);grid subplot(2,2,2),plot(w/pi,angle(H)/pi); ylabel('\phi');title('相位响应');axis([0,1,-1,1]); set(gca,'XTickMode','manual','XTick',[0,0.25,0.4,1]); set(gca,'YTickMode','manual','YTick',[-1,0,1]);grid subplot(2,2,3),plot(w/pi,dbH);title('幅度响应(dB)'); ylabel('dB');xlabel('频率(\pi)');axis([0,1,-40,5]);

相关文档
最新文档