数字信号处理书上实验1.2.3.4

合集下载

数字信号处理书上实验1.2.3.4

数字信号处理书上实验1.2.3.4

实验一熟悉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。

clear all;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;n=1:4;subplot(4,2,1);stem(n,a);xlabel('n');xlim([0 5]);ylabel('A');subplot(4,2,2);stem(n,b);xlabel('n');xlim([0 5]);ylabel('B');subplot(4,2,3);stem(n,c);xlabel('n');xlim([0 5]);ylabel('C');subplot(4,2,4);stem(n,d);xlabel('n');xlim([0 5]);ylabel('D');subplot(4,2,5);stem(n,e);xlabel('n');xlim([0 5]);ylabel('E');subplot(4,2,6);stem(n,f);xlabel('n');xlim([0 5]);ylabel('F');subplot(4,2,7);stem(n,g);xlabel('n');xlim([0 5]);ylabel('G');(2)用MATLAB实现下列序列:a) x(n)=0.8n0≤n≤15b) x(n)=e(0.2+3j)n0≤n≤15c) x(n)=3cos(0.125πn+0.2π)+2sin(0.25πn+0.1π) 0≤n≤15d) 将c)中的x(n)扩展为以16为周期的函数x16(n)=x(n+16),绘出四个周期。

数字信号处理实验(设计性实验修改)

数字信号处理实验(设计性实验修改)

《数字信号处理》实验指导书(实验报告)Digital Signal Processing Laboratory湛柏明编蒋伟荣审班级:姓名:湖北汽车工业学院电子信息科学系二〇〇六年十二月修订前言《信号与系统》、《数字信号处理》是电子信息类专业的两门主要技术基础课程,是电子信息类专业本科生的必修课程,也是电子信息类专业硕士研究生入学必考课程。

该课程的任务在于研究信号与系统理论的基本概念和基本分析方法,使学生初步认识如何建立信号与系统的数学模型,如何经适当的数学分析求解,并对所得结果给予物理解释,赋予物理意义。

该课程的基本理论和方法大量用于计算机信息处理的各个领域,特别是通信、数字语音处理、数字图像处理、数字信号分析等领域应用更为广泛。

通过实验,配合《信号与系统》和《数字信号处理》课程的教学、加强学生对信号与系统理论的感性认识、提高学生的综合能力具有重要的意义。

长期以来,《信号与系统》和《数字信号处理》课程一直采用黑板式的单一教学方式,学生仅依靠做习题来巩固和理解教学内容,对课程中大量的应用性较强的内容不能实际动手设计、调试、分析,严重影响和制约了教学效果。

由于黑板式教学,课程中大量的信号分析结果缺乏可视化的直观表现,学生自己设计系统也不能直观地得到系统特性的可视化测试结果,学生将大量的时间和精力用于繁杂的手工数学运算,而未真正理解所得结果在信号处理中的实际意义。

近年来,计算机多媒体教序手段的运用逐步普及,大量优秀的科学计算和系统仿真软件不断涌现,为我们实现计算机辅助教学和学生上机实验提供了很好的平台。

通过对这些软件的分析和对比,我们选择MATLAB语言作为辅助教学工具,借助MATLAB强大的计算能力和图形表现能力,将《信号与系统》和《数字信号处理》中的概念、方法和相应的结果,以图形的形式直观地展现给学生,大大的方便学生迅速掌握和理解教学内容。

然而,我们意识到,按照之前的《信号与系统》和《数字信号处理》课程的各8个实验学时进行实验,实验效果比较不尽如人意,由于实验学时数太少,没有给学生更的时间先去了解MATLAB语言,以至于使实验课流于形式,由于实验学时太少,也导致我们无法安排更为细致的具有综合型和设计型的实验项目。

数字信号处理实验指导书(M)

数字信号处理实验指导书(M)

数字信号处理实验电子信息科学与技术实验室2007年7月目录实验一离散时间信号的时域表示 (3)实验二离散信号的卷积和 (6)实验三离散傅立叶变换及其特性验证 (8)实验四信号处理中FFT的应用 (11)实验五离散系统的Z域分析 (15)实验六无限冲激响应(IIR)数字滤波器的三种结构 (19)实验七冲激响应不变法IIR数字滤波器设计 (23)实验八双线性变换法IIR数字滤波器设计 (26)实验一 离散时间信号的时域表示一、实验目的1、熟悉Matlab 命令,掌握离散时间信号-序列的时域表示方法。

2、掌握用Matlab 描绘二维图像的方法。

3、掌握用Matlab 对序列进行基本的运算和时域变换的方法。

二、实验原理与计算方法(一)序列的表示方法 序列的表示方法有列举法、解析法和图形法,相应的用Matlab 也可以有这样几种表示方法,分别介绍如下:1、列举法 在Matlab 中,用一个列向量来表示一个有限长序列,由于一个列向量并不包含位置信息,因此需要用表示位置的n 和表示量值的x 两个向量来表示任意一个序列,如:例1.1:>>n=[-3,-2,-1,0,1,2,3,4]; >>x=[2,1,-1,0,1,4,3,7];如果不对向量的位置进行定义,则Matlab 默认该序列的起始位置为n=0。

由于内存有限,Matlab 不能表示一个无限序列。

2、解析法对于有解析表达式的确定信号,首先定义序列的范围即n 的值,然后直接写出该序列的表达式,如:例1.2:实现实指数序列nn x )9.0()(=,100≤≤n 的Matlab 程序为:>>n=[0:10]; >>x=(0.9).^n;例 1.3:实现正余弦序列)5.0sin(2)31.0cos(3)(n n n x πππ++=,155≤≤n 的Matlab 程序为:>>n=[5:15];>>x=3*cos(0.1*pi*n+pi/3)+2*sin(0.5*pi*n); 3、图形法在Matlab 中用图形法表示一个序列,是在前两种表示方法的基础上将序列的各个量值描绘出来,即首先对序列进行定义,然后用相应的画图语句画图,如:例1.4:绘制在例1.1中用列举法表示的序列的图形,则在向量定义之后加如下相应的绘图语句:>>stem(n,x);此时得到的图形的横坐标范围由向量n 的值决定,为-3到4,纵坐标的范围由向量x 的值决定,为-1到7。

数字信号处理实验报告(实验1-4)

数字信号处理实验报告(实验1-4)

实验一 MATLAB 仿真软件的基本操作命令和使用方法实验容1、帮助命令使用 help 命令,查找 sqrt (开方)函数的使用方法;2、MATLAB 命令窗口(1)在MATLAB 命令窗口直接输入命令行计算31)5.0sin(21+=πy 的值;(2)求多项式 p(x) = x3 + 2x+ 4的根;3、矩阵运算(1)矩阵的乘法已知 A=[1 2;3 4], B=[5 5;7 8],求 A^2*B(2)矩阵的行列式已知 A=[1 2 3;4 5 6;7 8 9],求A(3)矩阵的转置及共轭转置已知A=[1 2 3;4 5 6;7 8 9],求A'已知 B=[5+i,2-i,1;6*i,4,9-i], 求 B.' , B'(4)特征值、特征向量、特征多项式已知 A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4] ,求矩阵 A的特征值、特征向量、特征多项式;(5)使用冒号选出指定元素已知: A=[1 2 3;4 5 6;7 8 9];求 A 中第 3 列前 2 个元素;A 中所有列第 2,3 行的元素;4、Matlab 基本编程方法(1)编写命令文件:计算 1+2+…+n<2000 时的最大 n 值;(2)编写函数文件:分别用 for 和 while 循环结构编写程序,求 2 的 0 到 15 次幂的和。

5、MATLAB基本绘图命令(1)绘制余弦曲线 y=cos(t),t∈[0,2π](2)在同一坐标系中绘制余弦曲线 y=cos(t-0.25)和正弦曲线 y=sin(t-0.5), t∈[0,2π](3)绘制[0,4π]区间上的 x1=10sint 曲线,并要求:(a)线形为点划线、颜色为红色、数据点标记为加号;(b)坐标轴控制:显示围、刻度线、比例、网络线(c)标注控制:坐标轴名称、标题、相应文本;>> clear;t=0:pi/10:4*pi;y=10*sin(t);plot(t,y);plot(t,y,'-+r');grid>> xlabel('X'),ylabel('Y');>> title('Plot:y=10*sin(t)');>> text(14,10,'完整图形');实验二常见离散信号的MATLAB产生和图形显示实验容与步骤1. 写出延迟了np个单位的单位脉冲函数impseq,单位阶跃函数stepseq, n=ns:nf function [x,n]=impseq[np,ns,nf];function [x,n]=stepseq[np,ns,nf];2. 产生一个单位样本序列x1(n),起点为ns= -10, 终点为nf=20, 在n0=0时有一单位脉冲并显示它。

《数字信号处理》上机实验指导书

《数字信号处理》上机实验指导书

《数字信号处理》上机实验指导书一、引言“数字信号处理”是一门理论和实验密切结合的课程,为了深入地掌握课程内容,应当在学习理论的同时,做习题和上机实验。

上机实验不仅可以帮助学生深入地理解和消化基本理论,而且能锻炼初学者的独立解决问题的能力。

所以,根据本课程的重点要求编写了四个实验。

第一章、二章是全书的基础内容,抽样定理、时域离散系统的时域和频域分析以及系统对输入信号的响应是重要的基本内容。

由于第一、二章大部分内容已经在前期《信号与系统》课程中学习完,所以可通过实验一帮助学生温习以上重要内容,加深学生对“数字信号处理是通过对输入信号的一种运算达到处理目的”这一重要概念的理解。

这样便可以使学生从《信号与系统》课程顺利的过渡到本课程的学习上来。

第三章、四章DFT、FFT是数字信号处理的重要数学工具,它有广泛的使用内容。

限于实验课时,仅采用实验二“用FFT对信号进行谱分析”这一实验。

通过该实验加深理解DFT的基本概念、基本性质。

FFT是它的快速算法,必须学会使用。

所以,学习完第三、四章后,可安排进行实验二。

数字滤波器的基本理论和设计方法是数字信号处理技术的重要内容。

学习这一部分时,应重点掌握IIR和FIR两种不同的数字滤波器的基本设计方法。

IIR滤波器的单位冲激响应是无限长的,设计方法是先设计模拟滤波器,然后再通过S~Z平面转换,求出相应的数字滤波器的系统函数。

这里的平面转换有两种方法,即冲激响应不变法和双线性变换法,后者没有频率混叠的缺点,且转换简单,是一种普遍应用的方法。

学习完第六章以后可以进行实验三。

FIR滤波器的单位冲激响应是有限长的,设计滤波器的目的即是求出符合要求的单位冲激响应。

窗函数法是一种基本的,也是一种重要的设计方法。

学习完第七章后可以进行实验四。

以上所提到的四个实验,可根据实验课时的多少恰当安排。

例如:实验一可根据学生在学习《信号与系统》课程后,掌握的程度来确定是否做此实验。

若时间紧,可以在实验三、四之中任做一个实验。

数字信号处理实验报告

数字信号处理实验报告

数字信号处理实验报告实验一:频谱分析与采样定理一、实验目的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 计算线性卷积的方法。

数字信号处理实验报告一二

数字信号处理实验报告一二

数字信号处理课程实验报告实验一 离散时间信号和系统响应一. 实验目的1. 熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解2. 掌握时域离散系统的时域特性3. 利用卷积方法观察分析系统的时域特性4. 掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对离散信号及系统响应进行频域分析二、实验原理1. 采样是连续信号数字化处理的第一个关键环节。

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

对连续信号()a x t 以T 为采样间隔进行时域等间隔理想采样,形成采样信号: 式中()p t 为周期冲激脉冲,()a x t 为()a x t 的理想采样。

()a x t 的傅里叶变换为()a X j Ω:上式表明将连续信号()a x t 采样后其频谱将变为周期的,周期为Ωs=2π/T 。

也即采样信号的频谱()a X j Ω是原连续信号xa(t)的频谱Xa(jΩ)在频率轴上以Ωs 为周期,周期延拓而成的。

因此,若对连续信号()a x t 进行采样,要保证采样频率fs ≥2fm ,fm 为信号的最高频率,才可能由采样信号无失真地恢复出原模拟信号ˆ()()()a a xt x t p t =1()()*()21()n a a a s X j X j P j X j jn T π∞=-∞Ω=ΩΩ=Ω-Ω∑()()n P t t nT δ∞=-∞=-∑计算机实现时,利用计算机计算上式并不方便,因此我们利用采样序列的傅里叶变换来实现,即而()()j j n n X e x n e ωω∞-=-∞=∑为采样序列的傅里叶变换2. 时域中,描述系统特性的方法是差分方程和单位脉冲响应,频域中可用系统函数描述系统特性。

已知输入信号,可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应。

数字信号处理上机实验 作业结果与说明 实验三、四、五

数字信号处理上机实验 作业结果与说明 实验三、四、五

上机频谱分析过程及结果图 上机实验三:IIR 低通数字滤波器的设计姓名:赵晓磊 学号:赵晓磊 班级:02311301 科目:数字信号处理B一、实验目的1、熟悉冲激响应不变法、双线性变换法设计IIR 数字滤波器的方法。

2、观察对实际正弦组合信号的滤波作用。

二、实验内容及要求1、分别编制采用冲激响应不变法、双线性变换法设计巴特沃思、切贝雪夫I 型,切贝雪夫II 型低通IIR 数字滤波器的程序。

要求的指标如下:通带内幅度特性在低于πω3.0=的频率衰减在1dB 内,阻带在πω6.0=到π之间的频率上衰减至少为20dB 。

抽样频率为2KHz ,求出滤波器的单位取样响应,幅频和相频响应,绘出它们的图,并比较滤波性能。

(1)巴特沃斯,双线性变换法Ideal And Designed Lowpass Filter Magnitude Responsefrequency in Hz|H [e x p (j w )]|frequency in pi units|H [ex p (j w )]|Designed Lowpass Filter Phase Response in radians frequency in pi unitsa r g (H [e x p (j w )](2)巴特沃斯,冲激响应不变法(3)切贝雪夫I 型,双线性变换法(4)切贝雪夫Ⅱ型,双线性变换法综合以上实验结果,可以看出,使用不同的模拟滤波器数字化方法时,滤波器的性能可能产生如下差异:使用冲击响应不变法时,使得数字滤波器的冲激响应完全模仿模拟滤波器的冲激响应,也就是时域逼急良好,而且模拟频率和数字频率之间呈线性关系;但频率响应有混叠效应。

frequency in Hz|H [e x p (j w )]|Designed Lowpass Filter Magnitude Response in dBfrequency in pi units|H [e x p (j w )]|frequency in pi unitsa r g (H [e x p (j w )]Ideal And Designed Lowpass Filter Magnitude Responsefrequency in Hz|H [e x p (j w )]|frequency in pi units|H [e xp (j w )]|frequency in pi unitsa r g (H [e x p (j w )]Ideal And Designed Lowpass Filter Magnitude Responsefrequency in Hz|H [e x p (j w )]|frequency in pi units|H [ex p (j w )]|Designed Lowpass Filter Phase Response in radiansfrequency in pi unitsa r g (H [e x p (j w )]使用双线性变换法时,克服了多值映射的关系,避免了频率响应的混叠现象;在零频率附近,频率关系接近于线性关系,高频处有较大的非线性失真。

数字信号处理实验报告二与三

数字信号处理实验报告二与三

实验二 用FFT 进行谱分析一.实验目的:1 进一步加深DFT 算法原理和基本性质的理解(因为FFT 只是DFT 的一种快速算法,所以FFT 的运算结果必然满足DFT 的基本性质)。

熟悉FFT 程序结构及编程方法。

2 熟悉应用FFT 对确定信号进行谱分析方法,熟悉FFT 算法原理和FFT 子程序的应用。

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

二.实验内容:(1)用matlab 编程产生并画出信号x1(n)、x2(n)、x3(n)、x4(n)、x5(n)。

(2)用matlab 编制FFT 函数对上述信号进行频谱分析,并画出上述信号谱图。

三.实验结果(1)1.%This programm is to generate signal x1(n)=R4(n).k=-6:6;x=[zeros(1,6),ones(1,4),zeros(1,3)];stem(k,x); (信号图如图1) title('图1');2.n=-5:1:10;x=(n+1).*(n>=0 & n<=3)+(8-n).*(n>=4 & n<=7)+0; stem(n,x); title('图2');3.n=-5:10;x=(4-n).*(n>=0 & n<=3)+(n-3).*(n>=4 & n<=7); stem(n,x); title('图3');-6-4-2024600.10.20.30.40.50.60.70.80.91⎪⎩⎪⎨⎧≤≤-≤≤+==n n n n n n x n R n x 其它,074,830,1)()()(241⎪⎩⎪⎨⎧≤≤-≤≤-=n n n n n n x 其它,074,330,4)(3n n x 4cos )(4π=n n x 8sin )(5π=图1-5051000.511.522.533.54-5051000.511.522.533.54图34.n=-10:10; x=cos(pi/4*n); stem(n,x); title('图4');5.n=-10:10;x=sin(pi/8*n); stem(n,x); title('图5');实验结果(2): FFT 算法function y=myditfft(x) % y=myditfft(x)% 本程序对输入序列 x 实现DIT-FFT 基2算法,点数取大于等于x 长度的2的幂次 % x 为给定时间序列% y 为x 的离散傅立叶变换m=nextpow2(x);N=2^m; % 求x 的长度对应的2的最低幂次m if length(x)<N;% 若x 的长度不是2的幂,补零到2的整数幂 x=[x,zeros(1,N-length(x))]; endnxd=bin2dec(fliplr(dec2bin([1:N]-1,m)))+1; % 求1:2^m 数列的倒序 y=x(nxd); % 将x 倒序排列作为y 的初始值 for mm=1:m; % 将DFT 作m 次基2分解,从左到右,对每次分解作DFT 运算 Nmr=2^mm;u=1; % 旋转因子u 初始化为WN^0=1WN=exp(-i*2*pi/Nmr); % 本次分解的基本DFT 因子WN=exp(-i*2*pi/Nmr) for j=1:Nmr/2; % 本次跨越间隔内的各次蝶形运算for k=j:Nmr:N; % 本次蝶形运算的跨越间隔为Nmr=2^mm kp=k+Nmr/2; % 确定蝶形运算的对应单元下标 t=y(kp)*u; % 蝶形运算的乘积项 y(kp)=y(k)-t; % 蝶形运算 y(k)=y(k)+t; % 蝶形运算 endu=u*WN; % 修改旋转因子,多乘一个基本DFT 因子WN end-10-8-6-4-2246810-1-0.8-0.6-0.4-0.200.20.40.60.81图4-10-8-6-4-2246810-1-0.8-0.6-0.4-0.200.20.40.60.81图5end 1.k=-6:6;x=[zeros(1,6),ones(1,4),zeros(1,3)]; y=myditfft(x); k=-6:9; stem(k,y); xlabel('m'); ylabel('X[M]');title('FFT 图');2.n=-5:1:10;x=(n+1).*(n>=0 & n<=3)+(8-n).*(n>=4 & n<=7)+0;y=myditfft(x); stem(n,y); xlabel('n'); ylabel('X[M]'); title('FFT 图'); 3.n=-5:10;x=(4-n).*(n>=0 & n<=3)+(n-3).*(n>=4 & n<=7); y=myditfft(x); stem(n,y); xlabel('n'); ylabel('X[M]'); title('FFT3'); 4.n=-10:10;x=cos(pi/4*n); y=myditfft(x); n=-10:21; stem(n,y); xlabel('n'); ylabel('X[M]'); title('FFT4'); 5.n=-10:10;x=sin(pi/8*n); y=myditfft(x); n=-10:21; stem(n,y); xlabel('n'); ylabel('X[M]'); title('FFT5');-6-4-20246810-4-3-2-101234m X [M ]FFT 图-5510-20-15-10-505101520nX [M ]FFT 图-5510-10-55101520nX M FFT3-10-50510152025-4-3-2-1012345n X [M ]FFT4-10-50510152025-6-4-22468nX [M ]FFT5四.简要回答以下问题:①在N=8时,x2(n)和x3(n)的幅频特性会相同吗?为什么?N=16呢?答:不相同。

数字信号处理实验报告一二

数字信号处理实验报告一二

数字信号处理课程实验报告实验一 离散时间信号和系统响应一. 实验目的1. 熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解2. 掌握时域离散系统的时域特性3. 利用卷积方法观察分析系统的时域特性4. 掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对离散信号及系统响应进行频域分析二、实验原理1. 采样是连续信号数字化处理的第一个关键环节。

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

对连续信号()a x t 以T 为采样间隔进行时域等间隔理想采样,形成采样信号: 式中()p t 为周期冲激脉冲,()a x t 为()a x t 的理想采样。

()a x t 的傅里叶变换为()a X j Ω:上式表明将连续信号()a x t 采样后其频谱将变为周期的,周期为Ωs=2π/T 。

也即采样信号的频谱()a X j Ω是原连续信号xa(t)的频谱Xa(jΩ)在频率轴上以Ωs 为周期,周期延拓而成的。

因此,若对连续信号()a x t 进行采样,要保证采样频率fs ≥2fm ,fm 为信号的最高频率,才可能由采样信号无失真地恢复出原模拟信号ˆ()()()a a xt x t p t =1()()*()21()n a a a s X j X j P j X j jn T π∞=-∞Ω=ΩΩ=Ω-Ω∑()()n P t t nT δ∞=-∞=-∑计算机实现时,利用计算机计算上式并不方便,因此我们利用采样序列的傅里叶变换来实现,即而()()j j n n X e x n e ωω∞-=-∞=∑为采样序列的傅里叶变换2. 时域中,描述系统特性的方法是差分方程和单位脉冲响应,频域中可用系统函数描述系统特性。

已知输入信号,可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应。

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

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

实验四 离散时间信号的DTFT一、实验目的1. 运用MA TLAB 计算离散时间系统的频率响应。

2. 运用MA TLAB 验证离散时间傅立叶变换的性质。

二、实验原理(一)、计算离散时间系统的DTFT已知一个离散时间系统∑∑==-=-Nk k N k k k n x b k n y a 00)()(,可以用MATLAB 函数frequz 非常方便地在给定的L 个离散频率点l ωω=处进行计算。

由于)(ωj e H 是ω的连续函数,需要尽可能大地选取L 的值(因为严格说,在MA TLAB 中不使用symbolic 工具箱是不能分析模拟信号的,但是当采样时间间隔充分小的时候,可产生平滑的图形),以使得命令plot 产生的图形和真实离散时间傅立叶变换的图形尽可能一致。

在MA TLAB 中,freqz 计算出序列{M b b b ,,,10 }和{N a a a ,,,10 }的L 点离散傅立叶变换,然后对其离散傅立叶变换值相除得到L l eH l j ,,2,1),( =ω。

为了更加方便快速地运算,应将L 的值选为2的幂,如256或者512。

例3.1 运用MA TLAB 画出以下系统的频率响应。

y(n)-0.6y(n-1)=2x(n)+x(n-1)程序: clf;w=-4*pi:8*pi/511:4*pi;num=[2 1];den=[1 -0.6];h=freqz(num,den,w);subplot(2,1,1)plot(w/pi,real(h));gridtitle(‘H(e^{j\omega}的实部’))xlabel(‘\omega/ \pi ’);ylabel(‘振幅’);subplot(2,1,1)plot(w/pi,imag(h));gridtitle(‘H(e^{j\omega}的虚部’))xlabel(‘\omega/ \pi ’);ylabel(‘振幅’);(二)、离散时间傅立叶变换DTFT 的性质。

数字信号处理实验报告实验一

数字信号处理实验报告实验一

实验一:系统响应及系统稳定性1 实验目的(1)掌握求系统响应的方法。

(2)掌握时域离散系统的时域特性。

(3)分析、观察及检验系统的稳定性。

2 实验原理与方法在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。

已知输入信号,可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应,本实验仅在时域求解。

在计算机上适合用递推法求差分方程的解,最简单的方法是采用MA TLAB语言的工具箱函数filter函数。

也可以用MATLAB语言的工具箱函数conv函数计算输入信号和系统的单位脉冲响应的线性卷积,求出系统的响应。

系统的时域特性指的是系统的线性时不变性质、因果性和稳定性。

重点分析系统的稳定性,包括观察系统的暂态响应和稳态响应。

系统的稳定性是指对任意有界的输入信号,系统都能得到有界的系统响应。

或者系统的单位脉冲响应满足绝对可和的条件。

系统的稳定性由差分方程的系数决定。

实际中检查系统是否稳定,不可能检查系统对所有有界的输入信号,输出是否都是有界输出,或者检查系统的单位脉冲响应满足绝对可和的条件,可行的方法是在系统的输入端加入单位阶跃序列,如果系统的输出趋近一个常数(包括零),就可以断定系统是稳定的,系统的稳态输出是指当n→∞时,系统的输出。

如果系统稳定,信号加入系统后,系统输出的开始一段称为暂态效应,随n的加大,幅度趋于稳定,达到稳态输出。

注意在以下实验中均假设系统的初始状态为零。

3 实验内容及步骤(1)编制程序,包括产生输入信号、单位脉冲响应序列的子程序,用filter函数或conv 函数求解系统输出响应的主程序。

程序中要有绘制信号波形的功能。

(2)给定一个低通滤波器的差分方程为y(n) = 0.05x(n) + 0.05x(n-1) + 0.9y(n-1)输入信号x1(n) = R8(n) , x8 = u(n)①分别求出x1 = R8(n) 和x8 = u(n) 的系统响应,并画出其波形。

数字信号处理实验一

数字信号处理实验一

实验一 离散时间信号分析一、实验目的1.熟悉MATLAB 应用环境,常用窗口的功能和使用方法。

2.掌握各种常用的序列,理解其数学表达式和波形表示。

3.掌握在计算机中生成及绘制数字信号波形的方法。

4.掌握序列的相加、相乘、移位、反褶、卷积等基本运算及计算机实现。

5.通过编程,上机调试程序,进一步增强使用计算机解决问题的能力。

二、实验原理1.序列的基本概念离散时间信号是指在离散时刻才有定义的信号,简称离散信号,或者序列。

离散时间信号在数学上可用时间序列)}({n x 来表示,其中)(n x 代表序列的第n 个数字,n 代表时间的序列,n 的取值范围为∞<<∞-n 的整数,n 取其它值)(n x 没有意义。

离散时间信号可以是由模拟信号通过采样得到,例如对模拟信号)(t a x 进行等间隔采样,采样间隔为T ,得到一个有序的数字序列)}({nT x a 就是离散时间信号,简称序列。

2.常用序列常用序列有:单位脉冲序列(单位抽样))(n δ、单位阶跃序列)(n u 、矩形序列)(n R N 、实指数序列、复指数序列、正弦型序列等。

3.序列的基本运算序列的运算包括移位、反褶、和、积、点乘、累加、差分运算、卷积等。

4.序列的卷积运算)()()()()(n h n x m n h m x n y m *=-=∑∞-∞=上式的运算关系称为卷积运算,式中*代表两个序列卷积运算。

两个序列的卷积是一个序列与另一个序列反褶后逐次移位乘积之和,故称为离散卷积,也称两序列的线性卷积。

其计算的过程包括以下4个步骤(1)反褶:先将)(n x 和)(n h 的变量n 换成m ,变成)(m x 和)(m h ,再将)(m h 以纵轴为对称轴反褶成)(m h -。

(2)移位:将)(m h -移位n ,得)(m n h -。

当n 为正数时,右移n 位;当n 为负数时,左移n 位。

(3)相乘:将)(m n h -和)(m x 的对应点的值相乘。

《数字信号处理》实验指导书(全)

《数字信号处理》实验指导书(全)

数字信号处理实验指导书电子信息工程学院2012年6月目录实验一离散信号产生和基本运算 (3)实验二基于MATLAB的离散系统时域分析 (7)实验三基于ICETEK-F2812-A 教学系统软件的离散系统时域分析 (9)实验四基于MATLAB 的FFT 算法的应用 (16)实验五基于ICETEK-F2812-A 的FFT 算法分析 (18)实验六基于ICETEK-F2812-A 的数字滤波器设计 (20)实验七基于ICETEK-F2812-A的交通灯综合控制 (24)实验八基于BWDSP100的步进电机控制 (26)实验一离散信号产生和基本运算一、实验目的(1)掌握MATLAB最基本的矩阵运算语句。

(2)掌握对常用离散信号的理解与运算实现。

二、实验原理1.向量的生成a.利用冒号“:”运算生成向量,其语句格式有两种:A=m:nB=m:p:n第一种格式用于生成不长为1的均匀等分向量,m和n分别代表向量的起始值和终止值,n>m 。

第二种格式用于生成步长为p的均匀等分的向量。

b.利用函数linspace()生成向量,linspace()的调用格式为:A=linspace(m,n)B=linspace(m,n,s)第一种格式生成从起始值m开始到终止值n之间的线性等分的100元素的行向量。

第二种格式生成从起始值m开始到终止值n之间的s个线性等分点的行向量。

2.矩阵的算术运算a.加法和减法对于同维矩阵指令的A+BA-B对于矩阵和标量(一个数)的加减运算,指令为:A+3A-9b.乘法和除法运算A*B 是数学中的矩阵乘法,遵循矩阵乘法规则A.*B 是同维矩阵对应位置元素做乘法B=inv(A)是求矩阵的逆A/B 是数学中的矩阵除法,遵循矩阵除法规则A./B 是同维矩阵对应位置元素相除另'A表示矩阵的转置运算3.数组函数下面列举一些基本函数,他们的用法和格式都相同。

sin(A),cos(A),exp(A),log(A)(相当于ln)sqrt(A)开平方 abs(A)求模 real(A)求实部 imag(A)求虚部 式中A 可以是标量也可以是矩阵 例: 利用等差向量产生一个正弦值向量 t=0:0.1:10 A=sin(t) plot(A)这时候即可看到一个绘有正弦曲线的窗口弹出 另:每条语句后面加“;”表示不要显示当前语句的执行结果 不加“;”表示要显示当前语句的执行结果。

数字信号处理第四次实验报告

数字信号处理第四次实验报告

数字信号处理第四次试验实验报告任务一 IIR 系统的特性某线性系统用差分方程表示为()()()()()10.910.812y n x n x n y n y n =+-+---1、求出系统函数,编程调用函数zplane 画出系统函数的零极图;2、调用函数freqz ,画出此系统的频率响应的幅度和相位。

3、能否用编写的DTFT 子函数无误差地计算此系统的频率响应特性?1.1.1原理及公式()()()()()10.910.812y n x n x n y n y n =+-+---两边进行Z 变化 ()()()()()1120.90.81Y z X z z X z z Y z z Y z ---=++-整理得:()()()12122110.90.810.90.81Y z z z zH z X z z z z z ---++===-+-+ 1.1.2程序脚本clear all ;b=[1 1 0];a=[1 -0.9 0.81]; zplane(b,a);1.1.3程序运行结果Real PartI m a g i n a r y P a r t1.2.1原理和思路在ω的一个周期()~ππ-内取1024个点,用freqz 函数求出系统的频率响应,用1.2.2程序脚本和注释clear all ; M=1024;w=-pi:2*pi/M:pi; b=[1 1 0]; a=[1 -0.9 0.81]; h=freqz(b,a,w); mag=abs(h);pha=phase(h); % 提取滤波器频率响应的幅度mag 和相位pha plot(w,mag); xlabel('w/rad'); ylabel('Magnitude'); title('Magnitude(幅度)'); figure; plot(w,pha); xlabel('w/rad'); ylabel('Phase'); title('Phase (相位)');1.2.3程序运行结果w/rad M a g n i t u d eMagnitude(幅度)w/radP h a s ePhase (相位)1.3不能用编写的DTFT 子函数无误差地计算此系统的频率响应特性。

数字信号处理实验指导书

数字信号处理实验指导书

《数字信号处理》实验指导书编写:刘梦亭审核:司玉娟阎维和适用专业:电子信息工程电子信息科学与技术通信工程等电子信息与工程系2009年9月目录实验一:离散时间信号分析 (1)实验二:离散时间系统分析 (3)实验三:离散系统的Z域分析 (6)实验四:FFT频谱分析及应用 (9)实验五:IIR数字滤波器的设计 (12)实验六:FIR数字滤波器的设计 (16)附录: MATLAB基本操作及常用命令 (20)实验一:离散时间信号分析实验学时:2学时 实验类型:验证 实验要求:必修 一、实验目的1) 掌握离散卷积计算方法; 2) 学会差分方程的迭代解法;3) 了解全响应、零输入响应、零状态响应和初始状态的物理意义和具体求法; 二、实验内容 1、信号的加数学描述 )()()(21n x n x n x += MATLAB 实现 21X X X +=设[ x10=[1 0.7 0.4 0.1 0]; x20=[0.1 0.3 0.5 0.7 0.9 1];]2、信号的乘数学描述 )()()(21n x n x n x *= MATLAB 实现 2.1X X X *=设[ x10=[1 0.7 0.4 0.1 0]; x20=[0.1 0.3 0.5 0.7 0.9 1];]3、计算卷积用MATLAB 计算序列{-2 0 1 –1 3}和序列{1 2 0 -1}的离散卷积。

首先用手工计算,然后用MATLAB 编程验证。

三、实验组织运行要求1、学生在进行实验前必须进行充分的预习,熟悉实验内容;2、学生根据实验要求,读懂并理解相应的程序;3、学生严格遵守实验室的各项规章制度,注意人身和设备安全,配合和服从实验室人员管理;4、教师在学生实验过程中予以必要的辅导,独立完成实验;5、采用集中授课形式。

四、实验条件1、具有WINDOWS 98/2000/NT/XP 操作系统的计算机一台; 2.、MATLAB 编程软件。

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

实验一熟悉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。

clear all;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;n=1:4;subplot(4,2,1);stem(n,a);xlabel('n');xlim([0 5]);ylabel('A');subplot(4,2,2);stem(n,b);xlabel('n');xlim([0 5]);ylabel('B');subplot(4,2,3);stem(n,c);xlabel('n');xlim([0 5]);ylabel('C');subplot(4,2,4);stem(n,d);xlabel('n');xlim([0 5]);ylabel('D');subplot(4,2,5);stem(n,e);xlabel('n');xlim([0 5]);ylabel('E');subplot(4,2,6);stem(n,f);xlabel('n');xlim([0 5]);ylabel('F');subplot(4,2,7);stem(n,g);xlabel('n');xlim([0 5]);ylabel('G');(2)用MATLAB实现下列序列:a) x(n)=0.8n0≤n≤15b) x(n)=e(0.2+3j)n0≤n≤15c) x(n)=3cos(0.125πn+0.2π)+2sin(0.25πn+0.1π) 0≤n≤15d) 将c)中的x(n)扩展为以16为周期的函数x16(n)=x(n+16),绘出四个周期。

e) 将c)中的x(n)扩展为以10为周期的函数x10(n)=x(n+10),绘出四个周期。

clear all;N=0:15;% a) x(n)=0.8n 0≤n≤15xa=0.8.^N;figure;subplot(2,1,1);stem(N,xa); xlabel('n');xlim([0 16]);ylabel('xa');% b) x(n)=e(0.2+3j)n 0≤n≤15xb=exp((0.2+3*j)*N);subplot(2,1,2);stem(N,xb);xlabel('n');xlim([0 16]);ylabel('xb');figure;% c) x(n)=3cos(0.125πn+0.2π)+2sin(0.25πn+0.1π) 0≤n≤15xc=3*cos(0.125*pi*N+0.2*pi)+2*sin(0.25*pi*N+0.1*pi);subplot(3,1,1);stem(N,xc);xlabel('n');xlim([0 16]);ylabel('xc');% d) 将c)中的x(n)扩展为以16为周期的函数x16(n)=x(n+16),绘出四个周期。

k=0:3;m=0;for i=1:4for j=1:16m=m+1;n(m)=N(j)+16*k(i);x16(m)=3*cos(0.125*pi*n(m)+0.2*pi)+2*sin(0.25*pi*n(m)+0.1*pi);endendsubplot(3,1,2);stem(n,x16);xlabel('n');ylabel('x16');% e) 将c)中的x(n)扩展为以10为周期的函数x10(n)=x(n+10),绘出四个周期。

for j=1:10x10(j)=x16(j);endfor i=1:3for m=1:10x10(i*10+m)=x10(m);endendn=1:40;subplot(3,1,3);stem(n,x10); xlabel('n');ylabel('x10');(3)x(n)=[1,-1,3,5],产生并绘出下列序列的样本: a) x 1(n)=2x(n+2)-x(n-1)-2x(n)b) ∑=-=51k 2)k n (nx (n) xclear all n=1:4; T=4;x=[1 -1 3 5]; x(5:8)=x(1:4);subplot(2,1,1);stem(1:8,x);grid;for i=1:4 if i-1<0x1(i)=2*x(i+2)-x(i-1)-2*x(i); elsex1(i)=2*x(i+2)-x(i-1+T)-2*x(i); end endx1(5:8)=x1(1:4);subplot(2,1,2);stem(1:8,x1);grid;(4)绘出下列时间函数的图形,对x 轴、y 轴以及图形上方均须加上适当的标注: a) x(t)=sin(2πt) 0≤t ≤10sb) x(t)=cos(100πt)sin(πt) 0≤t ≤4sta=0:0.05:10; xa=sin(2*pi*ta);subplot(2,1,1);plot(ta,xa); xlabel('t');ylabel('幅度'); tb=0:0.01:4;xb=cos(100*pi*tb).*sin(pi*tb); subplot(2,1,2);plot(tb,xb); xlabel('t');ylabel('幅度');(5)编写函数stepshift(n0,n1,n2)实现u(n-n0),n1<n0<n2,绘出该函数的图形,起点为n1,终点为n2。

n0=5;ns=1;nf=10;%ns 为起点;nf 为终点;在=n=n0处生成单位阶跃序列 n=[ns:nf];x=[(n-n0)>=0]; stem(n,x);(6)给一定因果系统)0.9z 0.67z -1)/(1z 2(1H(z)-2-1-1+++=求出并绘制H(z)的幅频响应与相频响应。

clear all;b=[1,sqrt(2),1]; a=[1,-0.67,0.9]; [h,w]=freqz(b,a);am=20*log10(abs(h)); subplot(2,1,1);plot(w,am);ph=angle(h);subplot(2,1,2);plot(w,ph);(7)计算序列{8 -2 -1 2 3}和序列{2 3 -1 -3}的离散卷积,并作图表示卷积结果。

clear all;a=[8 -2 -1 2 3];b=[2 3 -1 -3];c=conv(a,b); %计算卷积M=length(c)-1;n=0:1:M;stem(n,c);xlabel('n');ylabel('幅度');(8)求以下差分方程所描述系统的单位脉冲响应h(n),0≤n≤50y(n)+0.1y(n-1)-0.06y(n-2)=x(n)-2x(n-1)clear all;N=50;a=[1 -2];b=[1 0.1 -0.06];x=[1 zeros(1,N-1)];k=0:1:N-1;y=filter(a,b,x);stem(k,y);xlabel('n');ylabel('幅度');实验二快速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来观察频谱就好像通过一个栅栏来观看一个图景一样,只能在离散点上看到真实的频谱,这样就有可能发生一些频谱的峰点或谷点被“尖桩的栅栏”所拦住,不能别我们观察到。

相关文档
最新文档