实验四离散信号频谱分析
- 格式:doc
- 大小:158.00 KB
- 文档页数:7
实验四 时域抽样与频域抽样一、实验目的加深理解连续时间信号的离散化过程中的数学概念和物理概念,掌握时域抽样定理的基本内容。
掌握由抽样序列重建原连续信号的基本原理与实现方法,理解其工程概念。
加深理解频谱离散化过程中的数学概念和物理概念,掌握频域抽样定理的基本内容。
二、 实验原理时域抽样定理给出了连续信号抽样过程中信号不失真的约束条件:对于基带信号,信号抽样频率sam f 大于等于2倍的信号最高频率m f ,即m sam f f 2≥。
时域抽样是把连续信号x (t )变成适于数字系统处理的离散信号x [k ] ;信号重建是将离散信号x [k ]转换为连续时间信号x (t )。
非周期离散信号的频谱是连续的周期谱。
计算机在分析离散信号的频谱时,必须将其连续频谱离散化。
频域抽样定理给出了连续频谱抽样过程中信号不失真的约束条件。
三.实验内容1. 为了观察连续信号时域抽样时抽样频率对抽样过程的影响,在[0,0.1]区间上以50Hz 的抽样频率对下列3个信号分别进行抽样,试画出抽样后序列的波形,并分析产生不同波形的原因,提出改进措施。
)102cos()(1t t x ⨯=π答: 函数代码为: t0 = 0:0.001:0.1;x0 =cos(2*pi*10*t0);plot(t0,x0,'r')hold onFs =50;t=0:1/Fs:0.1;x=cos(2*pi*10*t); stem(t,x); hold offtitle('连续信号及其抽样信号')函数图像为:)502cos()(2t t x ⨯=π同理,函数图像为:)0102cos()(3t t x ⨯=π同理,函数图像为:由以上的三图可知,第一个图的离散序列,基本可以显示出原来信号,可以通过低通滤波恢复,因为信号的频率为20HZ,而采样频率为50>2*20,故可以恢复,但是第二个和第三个信号的评论分别为50和100HZ,因此理论上是不能够恢复的,需要增大采样频率,解决的方案为,第二个信号的采样频率改为400HZ,而第三个的采样频率改为1000HZ,这样可以很好的采样,如下图所示:2. 产生幅度调制信号)200cos()2cos()(t t t x ππ=,推导其频率特性,确定抽样频率,并绘制波形。
东北大学实验题目:离散信号的频谱分析姓名:______班级:自动化班__学号:____日期:2015.11.02____离散信号的频谱分析实验报告一、实验目的1 掌握采样频率的概念2 掌握信号频谱分析方法3 掌握在计算机中绘制信号频谱图的方法二、实验内容1、产生以下时间序列信号,并画出相应时域序列图:①采样频率为1000Hz,信号频率为30Hz的正弦信号y1(n)。
②采样频率为1000Hz,信号频率为120Hz的正弦信号y2(n)。
③采样频率为1000Hz, 30Hz的正弦信号和120Hz的混合信号y3(n)。
2、分别对信号y1(n), y2(n)和y3(n)进行FFT变换,画出其频谱图。
3、自带耳麦,采用goldwave等软件录制一段语音,内容为“数字信号处理”,文件按*.wav格式存储,设置采样频率为11025Hz。
4、对采集到的语音信号,进行FFT变换,画出其频谱图,并分析出自己语音的频谱范围。
三、实验结果及分析1,采样频率为1000Hz,信号频率为30Hz的正弦信号频谱图2,采样频率为1000Hz,信号频率为120Hz的正弦信号频谱图3,采样频率为1000Hz, 30Hz的正弦信号和120Hz的混合信号图4,对采样频率为1000Hz,信号频率为30Hz的正弦信号进行FFT变换的频谱图5,对采样频率为1000Hz,信号频率为120Hz的正弦信号进行FFT变换的频谱图6,对采样频率为1000Hz, 30Hz的正弦信号和120Hz的混合信号进行FFT变换的频谱图7,对采集到的语音信号(录制的自己声音,内容为“数字信号处理”),进行FFT变换的频谱图。
四、MATABLE程序代码fs=1000;%采样频率为1000HzN=1024;n=0:N-1;t=n/fs;f1=30;f2=120;x1=sin(2*pi*f1*t);x2=sin(2*pi*f2*t);x3=sin(2*pi*f1*t)+sin(2 *pi*f2*t)+2*randn(1,length(t));figure(1);plot(t,x1);title('origenal1');grid;figure(2);plot(t,x2);title('origenal2');grid;figure(3);plot(t,x3);title('origenal3');grid;y=fft(x1,N);%傅里叶变换mag=abs(y);f=(0:length(y)-1)'*fs/length(y);figure(4);plot(f(1:N/2),mag(1:N/2));%绘制频谱图title('with noise1');grid;y=fft(x2,N);%傅里叶变换mag=abs(y);f=(0:length(y)-1)'*fs/length(y);figure(5);plot(f(1:N/2),mag(1:N/2));%绘制频谱图title('with noise2');grid;y=fft(x3,N);%傅里叶变换mag=abs(y);f=(0:length(y)-1)'*fs/length(y); figure(6);plot(f(1:N/2),mag(1:N/2));%绘制频谱图title('with noise3');grid;fs=11025;x1=audioread('D:\new.wav');sound(x1,11025);y1=fft(x1,4096);figure(1)subplot(321);plot(x1);title('原始信号'); xlabel('time n'); ylabel('fuzhi n');subplot(322);plot(y1);title('原始信号频谱');。
实验四 离散信号的频域分析一、 实验目的1. 掌握序列的傅里叶变换、离散傅里叶级数、离散傅里叶变换、快速傅里叶变换的Matlab 实现;2.学习用FFT 对连续信号和离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT 。
二、 实验原理及方法1. 离散非周期信号的谱分析 (1) 序列的傅里叶变换对于满足绝对可和的序列,即∞<∑∞∞-|)(|n x ,其傅里叶变换和反变换的定义为∑∞-∞=-=n nj j en x e X ωω)()( (4.1)ωπωππωd eeX n x nj j ⎰-=)(21)( (4.2)序列)(n x 是离散的,但)(ωj e X 是以π2为周期的ω的连续函数,为了能够在计算机上处理,需要对)(n x 进行截断,对频域进行离散化,近似处理后21()()kk n j j nn n X ex n eωω-==∑(4.3)其中2k k Mπω=,M 是对ω在一个周期内的采样,k 的取值由读者确定,若想观察一个周期内的频谱,0~1k M =-,若观察两个周期,0~21k M =-,以此类推。
序列傅里叶变换的Matlab 实现: n=n1:n2;M=input(…put in the number M=‟); k=0:2*M-1; %观察两个周期X=x*(exp(-j*2*pi/M)).^(n ‟*k);%序列的傅里叶变换 对4()R n 进行序列的傅里叶变换得到图4-1。
图4-1 信号及信号的幅度谱和相位谱(2)离散傅里叶变换(DFT )如果序列)(n x 是有限长的,序列的谱分析可以采用离散傅里叶变换,其定义为:10,)()]([)(10-≤≤==∑-=N k W n x n x DFT k X N n knN(4.4)10,)(1)]([)(1-≤≤==∑-=-N n Wk X Nk X IDFT n x N k kn N(4.5)因为)(n x 与)(k X 都是离散的,所以可以利用计算机进行数值计算。
matlab离散信号的频谱分析实验报告Matlab离散信号的频谱分析实验报告引言:信号频谱分析是信号处理领域中的重要内容,它可以帮助我们了解信号的频率特性和频谱分布。
在实际应用中,离散信号的频谱分析尤为重要,因为大部分现实世界中的信号都是以离散形式存在的。
本实验旨在使用Matlab对离散信号进行频谱分析,并探索不同信号的频谱特性。
一、实验准备在进行实验之前,我们需要准备一些基本的工具和知识。
首先,我们需要安装Matlab软件,并熟悉其基本操作。
其次,我们需要了解离散信号的基本概念和性质,例如采样率、离散傅里叶变换等。
最后,我们需要准备一些实验数据,可以是自己生成的信号,也可以是从外部设备中获取的信号。
二、实验步骤1.生成离散信号首先,我们可以使用Matlab的随机函数生成一个离散信号。
例如,我们可以使用randn函数生成一个均值为0、方差为1的高斯白噪声信号。
代码如下:```matlabN = 1000; % 信号长度x = randn(N, 1); % 生成高斯白噪声信号```2.计算信号的频谱接下来,我们可以使用Matlab的fft函数对信号进行离散傅里叶变换,从而得到信号的频谱。
代码如下:```matlabX = fft(x); % 对信号进行离散傅里叶变换```3.绘制频谱图最后,我们可以使用Matlab的plot函数将信号的频谱绘制出来,以便更直观地观察信号的频谱特性。
代码如下:```matlabf = (0:N-1)*(1/N); % 构建频率轴plot(f, abs(X)); % 绘制频谱图xlabel('Frequency'); % 设置横轴标签ylabel('Magnitude'); % 设置纵轴标签title('Spectrum Analysis'); % 设置图标题```三、实验结果通过以上步骤,我们可以得到离散信号的频谱图。
MATLAB离散信号的产⽣和频谱分析实验报告实验⼀离散信号的产⽣和频谱分析⼀、实验⽬的仿真掌握采样定理。
学会⽤FFT 进⾏数字谱分析。
掌握FFT 进⾏数字谱分析的计算机编程实现⽅法。
培养学⽣综合分析、解决问题的能⼒,加深对课堂内容的理解。
⼆、实验要求掌握采样定理和数字谱分析⽅法;编制FFT 程序;完成正弦信号、线性调频信号等模拟⽔声信号的数字谱分析;三、实验内容单频脉冲(CWP )为)2e xp()()(0t f j T t rec t t s π=。
式中,)(Ttrect 是矩形包络,T 是脉冲持续时间,0f 是中⼼频率。
矩形包络线性调频脉冲信号(LFM )为)]21(2exp[)()(20Mt t f j Ttrect t s +=π。
式中,M 是线性调频指数。
瞬时频率Mt f +0是时间的线性函数,频率调制宽度为MT B =。
设参数为kHz f 200=,ms T 50=,kHz B 10=,采样频率kHz f s 100=。
1.编程产⽣单频脉冲、矩形包络线性调频脉冲。
2.编程实现这些信号的谱分析。
3.编程实现快速傅⽴叶变换的逆变换。
四、实验原理1、采样定理所谓抽样,就是对连续信号隔⼀段时间T 抽取⼀个瞬时幅度值。
在进⾏模拟/数字信号的转换过程中,当采样频率fs ⼤于信号中最⾼频率f 的2倍时(fs>=2f),采样之后的数字信号完整地保留了原始信号中的信息,⼀般实际应⽤中保证采样频率为信号最⾼频率的5~10倍;采样定理⼜称奈奎斯特定理。
2、离散傅⾥叶变换(FFT )长度为N 的序列()x n 的离散傅⽴叶变换()X k 为:10()(),0,....,1N nkN n X k x n W k N -===-∑N 点的DFT 可以分解为两个N/2点的DFT ,每个N/2点的DFT ⼜可以分解为两个N/4点的DFT 。
依此类推,当N 为2的整数次幂时(2MN =),由于每分解⼀次降低⼀阶幂次,所以通过M 次的分解,最后全部成为⼀系列2点DFT 运算。
离散信号频域分析心得体会离散信号频域分析是数字信号处理中的重要内容,通过将信号从时域转换到频域,可以获得信号在频率上的特性,进而对信号进行分析和处理。
在学习离散信号频域分析的过程中,我积累了以下一些心得体会。
首先,离散信号频域分析的核心是傅里叶变换。
傅里叶变换是一种将信号从时域转换到频域的数学工具,可以将一个信号分解成不同频率的频谱分量。
在学习傅里叶变换的时候,我深刻体会到信号的频域表示与时域表示是等价的,它们只是从不同的角度描述了信号的特性。
傅里叶变换可以将一个信号从时域转换到频域,它本质上是将信号分解成一系列复指数函数的和,每一个复指数函数对应一个频率的分量。
通过对频谱的分析,可以获取信号在不同频率上的能量分布情况,了解信号的频率组成,并根据不同的应用目的选择合适的频率范围进行分析和处理。
其次,离散信号的频域分析主要涉及到离散傅里叶变换(DFT)和快速傅里叶变换(FFT)等算法。
DFT是一种将离散时间域信号转换为离散频率域信号的变换,通常需要进行大量的计算,计算复杂度较高。
为了提高计算效率,人们提出了FFT算法,能够在O(NlogN)的时间复杂度内完成频域分析。
在学习FFT算法的过程中,我深刻感受到它的高效性和重要性。
FFT算法通过将原始信号的长度分解成多个小问题,并利用变位运算和加减运算进行计算,从而大大提高了计算速度。
掌握了FFT算法,可以极大地简化频域分析的计算过程,提高信号处理的效率。
此外,离散信号频域分析的应用十分广泛。
在通信领域,频域分析可以用于调制解调、信道估计、频谱分析等;在图像处理领域,频域分析可以用于图像压缩、滤波、增强等;在音频处理领域,频域分析可以用于音频合成、音乐分析等。
通过对信号进行频域分析,可以提取信号的关键特征,为后续的处理和应用打下基础。
在实际应用中,我们可以根据具体场景和需求,选择合适的频域分析方法和算法,对信号进行处理和优化。
最后,学习离散信号频域分析需要具备一定的数学基础和计算机编程能力。
实验四利用DFT分析离散信号频谱实验要求:应用傅里叶变换DFT,分析各种离散信号x(k)的频谱。
实验原理:1.离散周期信号离散周期信号可以展开成傅里叶级数,其中傅里叶系数如下式所示式中:N是信号的周期,n为时间离散变量,k为数字频率离散变量,是k次谐波的数字频率。
由于所以离散周期信号的频谱是一个以为周期的周期性离散频谱,各谱线之间的间隔为,而且存在着谐波的关系。
2.离散非周期信号通过离散时间傅里叶变换(DTFT)可求得非周期序列的频谱密度函数,即是数字频率的连续函数。
从式中可见,离散非周期信号的频谱结构是连续的且具有以为周期的周期性。
类似于对连续信号的谱分析,可以使用MA TLAB提供的fft函数计算离散周期信号和离散非周期信号的频谱。
对于离散周期信号,只要对其一个周期内的N点做fft,就可准确地计算得其频谱。
分析步骤:(1)确定离散周期序列的基本周期N;(2)使用fft命令作N点FFT计算X[k]。
频率分辨率。
(3)。
对于离散非周期信号,当序列长度有限时,可以求得准确的频谱样值。
若序列很专或无限长,则由于截短必然产生泄漏误差以及混叠误差,使计算的结果只能是频谱样值的近似值。
求解步骤:(1)确定序列的长度L。
根据能量分布,当序列为无限长需要进行截短。
(2)确定作FFT的点数N;根据频域取样定理,为使时域波形不产生混叠必须取L≥N;(3)使用fft命令作N点FFT计算X[k]。
三、实验内容:1.利用FFT计算信号的频谱;2.利用FFT计算信号的频谱;要求:(1)确定DFT计算的各参数;(2)进行理论值与计算值比较,分析各信号频谱分析的计算精度;(3)详细列出利用DFT分析离散信号频谱的步骤;(4) 写出实验原理。
1. 利用FFT计算信号的频谱(查看源文件)2、利用FFT计算信号的频谱(查看源文件)思考题:1)既然可以直接计算DTFT,为什么利用DFT分析离散信号频谱?答:离散序列的DTFT是连续的周期函数,不适合计算机进行计算,而序列的DFT本身是一个序列,因此特别适合计算机进行计算。
信息科学与工程学院《信号与系统》实验报告四专业班级电信 09-班姓名学号实验时间 2011 年月日指导教师陈华丽成绩实验名称离散信号的频域分析实验目的1. 掌握离散信号谱分析的方法:序列的傅里叶变换、离散傅里叶级数、离散傅里叶变换、快速傅里叶变换,进一步理解这些变换之间的关系;2. 掌握序列的傅里叶变换、离散傅里叶级数、离散傅里叶变换、快速傅里叶变换的Matlab实现;3. 熟悉FFT算法原理和FFT子程序的应用。
4. 学习用FFT对连续信号和离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT。
实验内容1.对连续信号)()sin()(0tutAetx taΩα-=(128.444=A,πα250=,πΩ250=)进行理想采样,可得采样序列50)()sin()()(0≤≤==-nnunTAenTxnx nTaΩα。
图1给出了)(txa的幅频特性曲线,由此图可以确定对)(txa采用的采样频率。
分别取采样频率为1KHz、300Hz和200Hz,画出所得采样序列)(nx的幅频特性)(ωj eX。
并观察是否存在频谱混叠。
图1 连续信号)()sin()(0tutAetx taΩα-=2. 设)52.0cos()48.0cos()(nnnxππ+=(1)取)(nx(100≤≤n)时,求)(nx的FFT变换)(kX,并绘出其幅度曲线。
(2)将(1)中的)(nx以补零方式加长到200≤≤n,求)(kX并绘出其幅度曲线。
(3)取)(nx(1000≤≤n),求)(kX并绘出其幅度曲线。
(4)观察上述三种情况下,)(nx的幅度曲线是否一致?为什么?3. (1)编制信号产生子程序,产生以下典型信号供谱分析用。
11,03()8,470,n nx n n nn+≤≤⎧⎪=-≤≤⎨⎪⎩其它2()cos4x n nπ=3()sin8x n nπ=4()cos8cos16cos20x t t t tπππ=++10.80.60.40.20100200300400500xa(jf)f /Hz(2)对信号1()x n ,2()x n ,3()x n 进行两次谱分析,FFT 的变换区间N 分别取8和16,观察两次的结果是否一致?为什么?(3)连续信号4()x n 的采样频率64s f Hz =,16,32,64N =。
数字信号处理及实验实验报告实验题目利用DFT分析离散信号频谱姓名组别班级光电14 学号144320200206 【实验目的】应用离散傅里叶变换(DFT),分析离散信号的频谱。
深刻理解DFT分析离散信号频谱信号频谱的原理,掌握改善分析过程中产生的误差的方法。
【实验原理】根据信号傅里叶变化建立的时域与频域之间的对应关系,可以得到有限序列的离散傅里叶变换(DFT)与4种确定信号傅里叶变换之间的关系,实现由DFT分析其频谱。
【实验结果与数据处理】1、利用FFT分析信号x[k] = cos(3πk/8),k = 0,1,2……,31的频谱:(1)确定DFT计算的参数。
(2)进行理论值与计算值比较,讨论信号频谱分析过程中产生误差的原因及改善方法。
分析:信号的周期T = 16,角频率w=2π/N=π/8。
clc,clear,close allN = 16; k = 0 : N-1;x = cos(3*pi*k/8);X = fft(x,N);subplot(2,1,1);stem(k - N/2,abs(fftshift(X)));ylabel('幅度','fontsize',15);xlabel('频率(rad)','fontsize',15);subplot(2,1,2);stem(k - N/2,angle(fftshift(X)));ylabel('相位','fontsize',15);xlabel('频率(rad)','fontsize',15);2、有限长脉冲序列x[k]= [2,3,3,1,0,5;k = 0,1,2,3,4,5],利用FFT分析其频谱,并绘出其幅度谱与相位谱。
clc,clear,close allN = 6; k = 0 : N-1; w = k-3;x=[2,3,3,1,0,5];X=fft(x,N);subplot(2,1,1);stem(w,abs(fftshift(X)));ylabel('幅度','fontsize',15);xlabel('频率(rad)','fontsize',15);subplot(2,1,2);stem(w,angle(fftshift(X)));ylabel('相位','fontsize',15);xlabel('频率(rad)','fontsize',15);3、某周期序列由3个频率组成:x[k] = cos(7πk/16) + cos(9πk/16) + cos(πk/2),利用FFT分析其频谱。
一、实验目的1. 进一步加深DFT 算法原理和基本性质的理解(因为FFT 只是DFT 的一种快速算法, 所以FFT 的运算结果必然满足DFT 的基本性质)。
2.掌握DFT (FFT )对时域离散信号进行频谱分析的方法。
二、实验原理 1、DFT 和FFT 原理:长度为N 的序列x(n)的离散傅立叶变换为X(k):∑-=-==101,....,0,)()(N n nk N N k W n x k X首先按n 的奇偶把时间序列x(n)分解为两个长为N/2点的序列x n x r 12()()=r=0,1,...,N/2-1x n x r 221()()=+r=0,1,...,N/2-1则x(n)的DFT 为X(k)X k x n W x r W x r W x r Wx r W W n N N knr N N krr N N kr r N Nkr r N Nkr Nk()()()()()()//()//==++=+=-=-=-+=-=-∑∑∑∑∑01212021210211202122221由于W e e W N kr j N Kr j N krN kr 222222===--ππ//,故有X k x r W W x r W X k W X k k N r N N kr N k r N N krN k()()()()(),,...,/////=+=+=-=-=-∑∑0211202122120121其中X 1(k) 和X 2(k)分别为x 1(n) 和x 2(n)的N/2点DFT 。
因为X 1(k) 和X 2(k)均是以N/2为周期的,且W W N k N Nk+=-/2。
因此可将N 点DFT X(k)分解为下面的形式X k X k W X k N k()()()=+12 k=0,1,...,N/2-1X k NX k W X k N k ()()()+=-212k=0,1,...,N/2-1通过上面的推导可以看出,N 点的DFT可以分解为两个N/2点的DFT ,每个N/2点的DFT 又可以分解为两个N/4点的DFT 。
实验四 离散时间系统的频域分析1.实验目的(1)理解和加深傅里叶变换的概念及其性质。
(2)离散时间傅里叶变换(DTFT)的计算和基本性质。
(3)离散傅里叶变换(DFT)的计算和基本性质。
2.实验原理对离散时间信号进行频域分析,首先要对其进行傅里叶变换,通过得到的频谱函数进行分析。
离散时间傅里叶变换(DTFT ,Discrete-time Fourier Transform)是傅立叶变换的一种。
它将以离散时间nT (其中,T 为采样间隔)作为变量的函数(离散时间信号)f (nT )变换到连续的频域,即产生这个离散时间信号的连续频谱()iw F e ,其频谱是连续周期的。
设连续时间信号f (t )的采样信号为:()()()sp n f t t nT f nT d ¥=-=-å,并且其傅里叶变换为:()()(){}sp n iwt f t f nT t nT dt e d ¥¥-=---=åòF 。
这就是采样序列f(nT)的DTFT::()()iwTinwT DTFT n F ef nT e ¥-=-=å,为了方便,通常将采样间隔T 归一化,则有:()()iwinw DTFT n F ef n e ¥-=-=å,该式即为信号f(n)的离散时间傅里叶变换。
其逆变换为:()1()2iw DTFT inw F e dw f n e ppp-=ò。
长度为N 的有限长信号x(n),其N 点离散傅里叶变换为:1()[()]()knNN n X k DFT x n x n W -===å。
X(k)的离散傅里叶逆变换为:101()[()]()knN N k x n IDFT X k X k W N --===å。
DTFT 是对任意序列的傅里叶分析,它的频谱是一个连续函数;而DFT 是把有限长序列作为周期序列的一个周期,对有限长序列的傅里叶分析,DFT 的特点是无论在时域还是频域都是有限长序列。
实验一报告、用FFT 对信号作频谱分析一、实验目的学习用FFT 对连续信号和时域离散信号进行频谱分析的方法,了解可能出现的分析误差及其原因,以便正确应用FFT 。
二、实验内容1.对以下序列进行频谱分析:()()()()4231038470n 4033470nx n R n n n x n nn n n x n n n =+≤≤⎧⎪=-≤≤⎨⎪⎩-≤≤⎧⎪=-≤≤⎨⎪⎩其它其它 选择FFT 的变换区间N 为8和16两种情况进行频谱分析。
分别打印其幅频特性曲线,并进行对比,分析和讨论。
2.对以下周期序列进行频谱分析:()()45cos4coscos48x n n x n n nπππ==+选择FFT 的变换区间N 为8和16两种情况分别对以上序列进行频谱分析。
分别打印其幅频特性曲线,并进行对比、分析和讨论。
3.对模拟信号进行频谱分析:()8cos8cos16cos20x t t t t πππ=++选择采样频率64s F Hz =,对变换区间N=16,32,64 三种情况进行频谱分析。
分别打印其幅频特性,并进行分析和讨论。
三、实验程序1.对非周期序列进行频谱分析代码:close all;clear all;x1n=[ones(1,4)];M=8;xa=1:(M/2);xb=(M/2):-1:1;x2n=[xa,xb];x3n=[xb,xa];X1k8=fft(x1n,8);X1k16=fft(x1n,16);X2k8=fft(x2n,8);X2k16=fft(x2n,16);X3k8=fft(x3n,8);X3k16=fft(x3n,16);subplot(3,2,1);mstem=(X1k8);title('(1a)8点DFT[x_1(n)]');subplot(3,2,2);mstem=(X1k16);title('(1b)16点DFT[x_1(n)]');subplot(3,2,3);mstem=(X2k8);title('(2a)8点DFT[x_2(n)]');subplot(3,2,4);mstem=(X2k16);title('(2b)16点DFT[x_2(n)]');subplot(3,2,5);mstem=(X3k8);title('(3a)8点DFT[x_3(n)]');subplot(3,2,6);mstem=(X3k16);title('(3b)16点DFT[x_3(n)]');2.对周期序列进行频谱分析代码:N=8;n=0:N-1;x4n=cos(pi*n/4);x5n=cos(pi*n/4)+cos(pi*n/8);X4k8=fft(x4n);X5k8=fft(x5n);N=16;n=0:N-1;x4n=cos(pi*n/4);x5n=cos(pi*n/4)+cos(pi*n/8);X4k16=fft(x4n);X5k16=fft(x5n);figure(2)subplot(2,2,1);mstem(X4k8);title('(4a)8点 DFT[x_4(n)]');subplot(2,2,2);mstem(X4k16);title('(4b)16点DFT[x_4(n)]');subplot(2,2,3);mstem(X5k8);title('(5a)8点DFT[x_5(n)]');subplot(2,2,4);mstem(X5k16);title('(5a)16点DFT[x_5(n)]') 3.模拟周期信号谱分析figure(3)Fs=64;T=1/Fs;N=16;n=0:N-1;x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);X6k16=fft(x6nT);X6k16=fftshift(X6k16);Tp=N*T;F=1/Tp;k=-N/2:N/2-1;fk=k*F;subplot(3,1,1);stem(fk,abs(X6k16),'.');box ontitle('(6a)16µãDFT[x_6(nT)]');xlabel('f(Hz)');ylabel('·ù¶È');axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k16))]);N=32;n=0:N-1; %FFTµÄ±ä»»Çø¼äN=32x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);X6k32=fft(x6nT);X6k32=fftshift(X6k32);Tp=N*T;F=1/Tp;k=-N/2:N/2-1;fk=k*F;subplot(3,1,2);stem(fk,abs(X6k32),'.');box ontitle('(6b)32µãDFT[x_6(nT)]');xlabel('f(Hz)');ylabel('·ù¶È');axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k32))]);N=64;n=0:N-1; %FFTµÄ±ä»»Çø¼äN=64x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);X6k64=fft(x6nT);X6k64=fftshift(X6k64);Tp=N*T;F=1/Tp;k=-N/2:N/2-1;fk=k*F;subplot(3,1,3);stem(fk,abs(X6k64),'.');box ontitle('(6c)64µãDFT[x_6(nT)]');xlabel('f(Hz)');ylabel('·ù¶È');axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k64))]);四、实验结果与分析分析:图(1a)和图(1b)说明X1(n)=R4(n)的8点和16点DFT分别是X1(n)的频谱函数的8点和16点采样;因X3(n)=X2((n-3))8R8(n),故X3(n)与X2(n)的8点DFT的模相等,如图(2a)和图(3a)所示。
实验四 利用离散傅立叶变换(DFT )分析信号的频谱一、实验目的1、通过这一实验,能够熟练掌握快速离散傅里叶变换(FFT )的原理及其用FFT 进行频谱分析的基本方法。
2、在通过计算机上用软件实现FFT 及信号的频谱分析。
3、通过实验对离散傅里叶变换的主要性质及FFT 在数字信号处理中的重要作用有进一步的了解。
二、实验原理1、离散傅里叶变换(DFT )及其主要性质DFT 表示离散信号的离散频谱,DFT 的主要性质中有奇偶对称特性,虚实特性等。
通过实验可以加深理解。
例如:实序列的DFT 具有偶对称的实部和奇对称的虚部,这可以证明如下: 由定义∑-==10)()(N n kn NW n x k X ∑∑-=-=-=1010)2sin()()2cos()(N n N n kn N n x j kn N n x ππ ∑-=-=-10)()()(N n n k N N W n x k N X∑-=-=10)(N n kn N Nn W W n x ∑-=-=10)(N n kn N W n x ∑∑-=-=+=1010)2sin()()2cos()(N n N n kn N n x j kn N n x ππ )(*)(k N X k X -=∴实序列DFT 的这个特性,在本实验中可以通过实指数序列及三角序列看出来。
对于单一频率的三角序列来说它的DFT 谱线也是单一的,这个物理意义我们可以从实验中得到验证,在理论上可以推导如下: 设:)()2sin()(n R n N n x N π=,其DFT 为: ∑-=-=102)()(N n kn N j en x k X π kn Nj N n e n N ππ210)2sin(--=∑= kn N j N n n N j n N j e e e j πππ21022)(21--=-∑-= ∑-=+----=10)1(2)1(2)(21N n k n N j k n N j e e j ππ 从而∑-=-=-=10220)(21)0(N n n N j n N j e e j X ππ∑-=--==-=10422)1(21)1(N n n N j N j j N e j X π 0)2(=X0)2(=-N X22)(21)1(102)2(2N j j N e e j N X N n n j n N N j =-=-=-∑-=--ππ以上这串式中)0(X 反映了)(n x 的直流分量,)1(x 是)(n x 的一次谐波,又根据虚实特性)1()1(*X N X =-,而其它分量均为零。
第1篇一、实验背景随着信息技术的飞速发展,数字信号处理(DSP)技术已成为通信、图像处理、语音识别等领域的重要工具。
本实验旨在通过一系列实验,加深对数字信号处理基本原理和方法的理解,提高实际应用能力。
二、实验目的1. 理解数字信号处理的基本概念和原理。
2. 掌握常用信号处理算法的MATLAB实现。
3. 培养分析和解决实际问题的能力。
三、实验内容本实验共分为五个部分,具体如下:1. 离散时间信号的基本操作(1)实验目的:熟悉离散时间信号的基本操作,如加法、减法、乘法、除法、延时、翻转等。
(2)实验步骤:- 使用MATLAB生成两个离散时间信号。
- 对信号进行基本操作,如加法、减法、乘法、除法、延时、翻转等。
- 观察并分析操作结果。
2. 离散时间系统的时域分析(1)实验目的:掌握离散时间系统的时域分析方法,如单位脉冲响应、零状态响应、零输入响应等。
(2)实验步骤:- 使用MATLAB设计一个离散时间系统。
- 计算系统的单位脉冲响应、零状态响应和零输入响应。
- 分析系统特性。
(1)实验目的:掌握离散时间信号的频域分析方法,如快速傅里叶变换(FFT)、离散傅里叶变换(DFT)等。
(2)实验步骤:- 使用MATLAB生成一个离散时间信号。
- 对信号进行FFT和DFT变换。
- 分析信号频谱。
4. 数字滤波器的设计与实现(1)实验目的:掌握数字滤波器的设计与实现方法,如巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器等。
(2)实验步骤:- 使用MATLAB设计一个低通滤波器。
- 使用窗函数法实现滤波器。
- 对滤波器进行性能分析。
5. 信号处理在实际应用中的案例分析(1)实验目的:了解信号处理在实际应用中的案例分析,如语音信号处理、图像处理等。
(2)实验步骤:- 选择一个信号处理应用案例。
- 分析案例中使用的信号处理方法。
- 总结案例中的经验和教训。
四、实验结果与分析1. 离散时间信号的基本操作实验结果表明,离散时间信号的基本操作简单易懂,通过MATLAB可以实现各种操作,方便快捷。
实验四线性时不变离散时间系统的频域分析一、引言离散时间系统是指输入和输出都以离散的时间点进行采样的系统。
频域分析是通过将时域信号转换到频域来研究系统的特性和性能的一种方法。
实验四旨在通过频域分析方法研究线性时不变离散时间系统的特性。
二、理论分析线性时不变离散时间系统的输入输出关系可以表示为:y[n]=H(e^(jω))*x[n]其中,H(e^(jω))表示系统的频率响应,是输入和输出的傅里叶变换之比。
线性时不变离散时间系统的频率响应可以通过离散傅里叶变换(DFT)来求得。
DFT是时域序列经过离散采样后进行离散傅里叶变换得到频域表示的方法。
DFT的定义如下:X(k) = Σ[x(n)e^(-j2πkn/N)]其中,x(n)为时域序列,X(k)为频域序列,N为采样点数。
通过DFT可以将时域序列转换为频域序列,从而得到系统的频谱特性,包括幅度和相位。
三、实验步骤1.准备实验设备和软件:计算机、MATLAB软件。
2.设置实验输入信号:生成离散时间序列x[n]。
3.进行离散傅里叶变换:使用MATLAB软件进行离散傅里叶变换,得到频域序列X(k)。
4.计算幅度谱和相位谱:根据频域序列X(k)计算幅度谱和相位谱。
5.绘制频谱图:根据幅度谱和相位谱绘制频谱图。
6.分析系统特性:根据频谱图分析系统的频率响应特性。
四、实验注意事项1.在进行离散傅里叶变换时,注意采样点数N的选择,一般应满足N>2L,其中L为时域信号的长度。
2.在绘制频谱图时,注意选择适当的频率范围,以便观察频域特性。
五、实验结果分析实验通过离散傅里叶变换将时域信号转换为频域信号,得到了系统的频谱特性。
根据频谱图可以分析系统的频率响应,包括系统的幅度响应和相位响应。
六、实验总结通过实验四的实验,我们学习了线性时不变离散时间系统的频域分析方法。
通过离散傅里叶变换,我们可以将时域序列转换为频域序列,从而得到系统的频谱特性。
通过分析频谱图,我们可以了解系统的幅度响应和相位响应,进一步了解系统的特性和性能。
实验四 离散信号的频域分析一、 实验目的1. 掌握序列的傅里叶变换、离散傅里叶级数、离散傅里叶变换、快速傅里叶变换的Matlab 实现;2.学习用FFT 对连续信号和离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT 。
二、 实验原理及方法1. 离散信号的谱分析 (1) 序列的傅里叶变换 对于满足绝对可和的序列,即∞<∑∞∞-|)(|n x ,其傅里叶变换和反变换的定义为∑∞-∞=-=n nj j en x e X ωω)()( (4.1)ωπωππωd e e X n x n j j ⎰-=)(21)( (4.2)序列)(n x 是离散的,但)(ωj e X 是以π2为周期的ω的连续函数,为了能够在计算机上处理,需要对)(n x 进行截断,对频域进行离散化,近似处理后21()()kk n j j nn n X ex n e ωω-==∑(4.3)其中2k k Mπω=,M 是对ω在一个周期内的采样,k 的取值由读者确定,若想观察一个周期内的频谱,0~1k M =-,若观察两个周期,0~21k M =-,以此类推。
序列傅里叶变换的Matlab 实现: clc;clear; n=0:3;x=[1,1,1,1]; M=200;k=0:M-1; W=2*pi/M*k;X=x*(exp(-j*2*pi/M)).^(n'*k); %序列的傅里叶变换 magX=abs(X); phaX=angle(X); subplot(131); stem(x);subplot(132); plot(W,magX); subplot(133); plot(W,phaX);对4()R n 进行序列的傅里叶变换得到图4-1。
2400.10.20.30.40.50.60.70.80.9105100.511.522.533.54DTFT 幅度谱0510-4-3-2-1123DTFT 相位谱图4-1 信号及信号的幅度谱和相位谱(2)离散傅里叶变换(DFT )如果序列)(n x 是有限长的,序列的谱分析可以采用离散傅里叶变换,其定义为:10,)()]([)(1-≤≤==∑-=N k W n x n x DFT k X N n knN (4.4)10,)(1)]([)(1-≤≤==∑-=-N n Wk X Nk X IDFT n x N k kn N(4.5)因为)(n x 与)(k X 都是离散的,所以可以利用计算机进行数值计算。
从数学观点看,DFT 表示的是对序列)(n x 或)(k X 的线性运算。
此处应用DFT 变换近似分析采样序列的频谱。
设时域序列用x 表示,长度为M ;x 的DFT 变换为X ,变换区间长度为N (M N ≥)。
∑-==1)()(M n knNWn x k X 1,,1,0-=N k将)(k X 展开,得:⎪⎪⎪⎩⎪⎪⎪⎨⎧-++++=--++++=-++++=-++++=--------)1)(1(2)1(1)1(0)1()1(2222120)1(1121110)1(0020100)1()2()1()0()1()1()2()1()0()2()1()2()1()0()1()1()2()1()0()0(M N N N N N N N N M NN N N M N N N N M N N N N W M x W x W x W x N X W M x W x W x W x X W M x W x W x W x X W M x W x W x W x X 将上式表示成矩阵的形式:⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡-=--------)1)(1()1(1)1(02)1(2021)1(11010)1(1000)]1()1()0([)]1()1()0([M N N M N M N N NN N N NN N N NN N W W W W W W W W W W W W M x x x N X X X 1 DFT 变换的Matlab 实现:clc;clear; M=4; N=8;x=[1,1,1,1]; n=0:M-1; k=0:N-1;WN=exp(-j*2*pi/N); kn=n'*k;WNkn=WN.^kn; X=x*WNkn; magX=abs(X); phaX=angle(X); k=0:7;subplot(131); stem(x);subplot(132); stem(magX); subplot(133); stem(phaX);对4()R n 进行离散傅里叶变换得到图4-2。
2400.10.20.30.40.50.60.70.80.9100.511.522.533.540510-2.5-2-1.5-1-0.500.511.5相位谱图4-2 信号及信号的离散傅里叶变换(3)快速傅里叶变换(FFT )快速傅里叶变换并不是一种新的变换,只是离散傅里叶变换的快速算法,常用的有按时间抽取的基-2FFT 算法和按频率抽取的基-2FFT 算法。
在Matlab 中对离散信号进行FFT ,可以直接调用函数。
快速傅里叶变换的原理及子程序见附录。
fft(x):利用快速算法计算x 的M 点DFT ,其中M 是x 的长度。
fft(x,N):利用快速算法计算x 的N 点DFT ,其中N 是用户指定的长度。
分两种情况: ①若x 的长度M>N ,则将x 截短为N 点序列,再作N 点DFT ; ②若x 的长度M<N ,则将x 补零至N 点,再作N 点DFT 。
ifft(X):利用快速算法计算X 的M 点IDFT ,其中M 是X 的长度。
ifft(X,N):利用快速算法计算X 的N 点IDFT ,其中N 是用户指定的长度。
同样分两种情况,同fft(x,N)。
对4()R n 进行16点的快速傅里叶变换得到图4-3。
clc;clear; x=[1,1,1,1]; X=fft(x,16); magX=abs(X); phaX=angle(X); k=0:15; W=pi/8*k; subplot(131); stem(x);subplot(132); stem(magX);subplot(133); stem(phaX);2400.10.20.30.40.50.60.70.80.91时间序列00.511.522.533.54幅度谱01020-2-1.5-1-0.500.511.52相位谱图4-3 信号及信号的快速傅里叶变换观察图4-1、4-2、4-3可以得到,DFT 和FFT 都是对序列的傅里叶变换)(ωj eX 在[0,2]π上的离散化,离散化的采样点数即为做DFT 和FFT 的点数。
而FFT 仅为DFT 的快速运算,当做DFT 和FFT 的点数相同时,两者的结果是一样的。
2.利用FFT 进行谱分析的误差分析下面分析利用FFT 对信号进行傅里叶分析时可能造成的误差。
(1)频谱混叠失真利用FFT 对连续信号进行傅里叶分析时首先需要进行时域采样。
按照时域采样定理,为了不产生混叠,必须满足2s c f f ≥ (4.16) 也就是采样间隔T 满足112s cT f f =≤ (4.17) 一般应取(3~5)s c f f = (4.18)如果不满足2s h f f ≥,就会产生频谱混叠失真。
(2)栅栏效应利用FFT 计算频谱,只能给出离散点2k k N πω=或2k k NTπΩ=上的频谱采样值,而不可能得到连续频谱函数,这就像通过一个“栅栏”观看信号频谱,只能在离散点上看到信号频谱,称之为“栅栏效应”。
这时,如果在两个离散的谱线之间有一个特别大的频谱分量,就无法检测出来了。
减小栅栏效应的一个方法就是要使频域采样更密,即增加频域采样点数N ,在不改变时域数据的情况下,必然是在数据末端添加一些零值点,使一个周期内的点数增加,但并不改变原有的记录数据。
频谱采样间距为2Nπ,N 增加,必然使样点间距更近(单位圆上样点更多),谱线更密,谱线变密后原来看不到的谱分量就有可能看到了。
必须指出,补零以改变计算FFT 的周期时,不能提高频率分辨率,这是因为数据的实际长度仍为补零前的数据长度。
(3)频谱泄漏与谱间干扰对信号进行FFT 计算,首先必须使其变成有限时宽的信号, 这就相当于信号在时域乘一个窗函数如矩形窗,窗内数据并不改变。
加窗即为时域相乘,对频域的影响可用卷积公式表示()1()()()21()()2j j j j j V e X e W e X e W e d ωωωπθωθππθπ--=*=⎰ (4.19) 式(4.19)中,()j X e ω是信号()x n 的频谱,()j W e ω是窗函数的频谱。
卷积的结果使加窗后得到的频谱()j V e ω与原来的频谱()j X e ω不相同,产生失真。
这种失真造成频谱的“扩散”,这就是所谓的“频谱泄漏”。
三、 实验内容及步骤1. 计算序列的DTFT 和DFT ,观察栅栏效应 设)()(8n R n x =,要求用MATLAB 实现: (1)计算)(n x 的傅里叶变换)(ωj eX ,并绘出其幅度谱;(2)分别计算)(n x 的8点DFT 和16点DFT ,绘出其幅度谱。
并说明它们和)(ωj e X 的关系。
(提示:DFT 变换可用MA TLAB 提供的函数fft 实现,也可以自己用C 语言或matlab 编写) 2.计算序列的FFT ,观察频谱泄漏已知周期为16的信号)1612cos()1610cos()(n n n x ππ+=, (1) 截取一个周期长度M=16点,计算其16点FFT ,并绘出其幅度谱;(2) 截取序列长度M=10点,计算其16点FFT ,绘出其幅度谱,并与(1)的结果进行比较,观察频谱泄漏现象,说明产生频谱泄漏的原因。
四、 实验报告要求1. 结合实验中所得给定典型序列幅频特性曲线,与理论结果比较,并分析说明误差产生的原因以及用FFT 作谱分析时有关参数的选择方法。
2.总结实验所得主要结论。