信号与系统傅里叶变换
- 格式:pdf
- 大小:371.79 KB
- 文档页数:9
信号与系统里的傅里叶变换信号与系统是电子信息类专业中的一门重要课程,而傅里叶变换作为信号与系统中的核心概念之一,具有重要的理论和实际应用价值。
傅里叶变换是一种将时域信号转换到频域的数学工具,可以分析信号的频谱特性,并且在信号处理、通信、图像处理等领域有着广泛的应用。
傅里叶变换的基本思想是将一个时域上的信号分解成不同频率的正弦和余弦波的叠加,通过对信号进行频谱分析,可以得到信号的频率成分、幅度和相位信息。
在傅里叶变换中,信号在频域中的表示被称为频谱,频谱图可以直观地显示信号的频率分布情况,有助于我们理解和分析信号的性质。
傅里叶变换的数学表达式较为复杂,但是我们可以通过一些简单的例子来理解其基本原理。
假设我们有一个周期为T的周期信号,通过傅里叶变换,可以将这个信号分解成不同频率的正弦和余弦波的叠加。
频率最高的分量被称为基频,其余的分量则是基频的整数倍。
通过对这些分量的幅度和相位进行适当的调整,就可以还原原始信号。
傅里叶变换不仅可以分析周期信号,还可以分析非周期信号。
对于非周期信号,我们可以将其视为周期趋于无穷大的周期信号,通过傅里叶变换可以得到其频谱信息。
在实际应用中,非周期信号更为常见,例如音频信号、图像信号等都是非周期信号。
通过傅里叶变换,我们可以将这些信号转换到频域中进行分析和处理。
傅里叶变换不仅可以分析信号的频谱特性,还可以对信号进行滤波和频域处理。
滤波是指通过调整信号的频谱来实现对特定频率成分的增强或抑制。
例如,我们可以通过低通滤波器来去除高频噪声,或者通过高通滤波器来增强低频信号。
频域处理则是指在频域中对信号进行运算和处理。
例如,我们可以通过频域乘法实现信号的卷积运算,或者通过频域加法实现多个信号的叠加。
除了傅里叶变换,还有一种相关的概念叫做傅里叶级数展开。
傅里叶级数展开是将周期信号分解成一系列正弦和余弦波的叠加,不同的是,傅里叶级数展开是在时域上进行分析,而傅里叶变换是在频域上进行分析。
实验四傅立叶变换和LTI系统的频域分析4.1实验目的1.熟悉信号的傅里叶变换及其逆变换;2.掌握信号和系统频域分析方法;3.了解快速傅里叶变换方法及其应用;4.学会使用MATLAB分析信号和系统的频域特性,绘制信号的频谱图以及滤波器的幅频、相频特性图。
4.2实验原理傅里叶变换在众多领域都有着广泛的应用。
在信号和系统中,通过傅里叶变换可将时域上的信号转换为频域上的频谱密度函数,还可将时域上的卷积运算转化为频域上较为简单的乘积运算。
另外值得一提的是,离散形式的傅里叶变换(Discrete Fourier Transfer,简称DFT)可通过快速傅里叶变换算法(Fast Fourier Transfer,简称FFT)用计算机快速地实现。
以FFT为基础的频域方法是现代数字信号和图像处理、通信、控制等众多领域的最基本的技术手段之一。
连续时间信号的傅里叶变换连续时间信号的傅里叶变换(CFT)为X(jω)=∫∞−∞x(t)e−jωt dt,其逆变换为x(t)=12π∫∞−∞X(jω)e jωt dω.4.2实验原理实验四傅立叶变换和L TI系统的频域分析x(t)和X(jω)都是连续函数。
离散时间信号的傅里叶变换离散时间信号的傅里叶变换(DTFT)为X (e jω)=∞∑n=−∞x[n]e−jωn,其逆变换为x[n]=12π∫2πX(e jω)e jωn dω.X(e jω)是周期为2π的连续函数。
离散时间信号的傅里叶变换也是连续的。
离散傅里叶变换由于数字系统一般都只能处理有限长的离散信号,所以必须将连续信号和它的频域变换函数都离散化,并且建立有限长离散序列间相对应的傅里叶变换关系,才能用数字系统(如用计算机)对信号进行处理。
为达到这一目的,我们需要定义离散傅里叶变换。
离散傅里叶变换的另一个好处是可用快速傅里叶变换算法来快速地计算。
对于一长度为N的有限长离散时间序列,其离散傅里叶变换(DFT)定义为X[k]=N∑n=1x[n]W(n−1)(k−1)N,逆变换为x[n]=1NN∑k=1X(k)W−(n−1)(k−1)N,其中常数W N=e−j2πN。
从形式上来看,DFT处理的信号在时域和频域上都是有限长的离散序列,且长度相等。
如果将其与DTFT做比较,可发现DFT实际上就是周期延拓的有限长离散时间序列的傅里叶级数,因此DFT变换前后的两组离散序列都应看作是离散周期信号的主值序列。
DFT变换序列X[k]的值也可以理解为有限长离散序列的傅里实验四傅立叶变换和L TI系统的频域分析 4.2实验原理叶变换X (e jω)=N∑n=1x[n]e−jω(n−1)的频域采样,X[k]=X (e jω)ω=2πN(k−1).而对于连续时间信号x(t),DFT可以理解为先将信号在时域离散化得到x[n],求得其傅里叶变换X(e jω)后,再在频域离散化的结果,即时域采样的傅立叶变换的频域采样。
总之DFT可以看成是连续时间傅里叶变换的一种近似,但是要注意以下的问题:1.连续信号必须是时限的;2.连续信号的时域采样须满足采样定理;3.DFT得到的频谱是N个频点上的离散频谱值,存在栅栏效应,即N个频点之外频谱值是未知的。
如需得到更多频点的信息,可对x[n]进行补零扩展,增大N的数量。
DFT在众多领域都有重要应用,而在实际应用中DFT及其逆变换都依赖于快速算法,即快速傅里叶变换FFT。
按照DFT的定义计算一个长为n的序列的DFT的计算复杂度为O(n2),而同样长度FFT的计算复杂度仅为O(n log n)。
正是FFT算法的提出,使DFT在数字信号处理中得到了广泛的应用。
MATLAB提供了fft和ifft函数,可分别实现DFT及其逆变换的快速算法。
连续时间信号的频谱分析前面我们已经知道,DFT是连续傅里叶变换的近似。
因此我们可以通过连续时间信号x(t)进行均匀采样并截断得到有限长离散序列x[n],对序列作FFT,就可以得到x(t)频谱的采样值,分析其频谱的的性质。
X(jω)一般为复函数,其模和相位可表示为X(jω)=X(jω)e jϕ(ω),其中X(jω)反映信号各频率分量的幅度随频率ω的变化情况,称为信号的幅度频谱;phi(ω)反映信号各频率分量的相位随频率ω的变化情况,称为信号的相位频谱。
4.2实验原理实验四傅立叶变换和L TI系统的频域分析连续时间系统的频域分析根据傅里叶变换的卷积性质,某一LTI系统输出信号的频谱满足Y(jω)=X(jω)H(jω),式中X(jω)是输入信号x(t)的傅里叶变换,H(jω)是系统单位冲激响应h(t)的傅里叶变换。
H(jω)称为系统的频率响应(也称为系统系统传递函数、系统函数等),反映了系统内在的固有的特性,是描述稳定LTI系统特性的一个重要参数,其模和相位表示为H(jω)=H(jω)e jϕ(ω),其中H(jω)称为系统的幅频特性,ϕ(ω)称为系统的相频特性。
MATLAB应用示例对于连续时间信号,在MATLAB中我们虽然可以根据傅里叶变换的定义式,用数值方法求出信号的傅里叶变换,但是如前所述,算法上的效率远远不及用FFT来求解。
例1求矩形脉冲x(t)=u (t+12)−u(t−12)的傅里叶变换。
解:用FFT近似求解,脚本程序如下:Fs=1000;%Sampling frequency2T=1/Fs;%Sample timeL=50001;%Length of signal4t=(-(L-1)/2:(L-1)/2)*T;%Time vectorx=+(t>=-0.5&t<0.5);%Signal-rectangular pulse6NFFT=2^nextpow2(L);%Next power of2from length of ytime=cputime;8y=fft(x,NFFT)*T;%FFTy=fftshift(y);%Shift the spectrum10cputime-time%Display the time used by the FFT operation f=((0:NFFT-1)/NFFT-0.5)*Fs;%The corresponding frequency vector12subplot(2,1,1);plot(t,x);xlabel('Time␣(s)');ylabel('Amplitude');14axis([-1.5 1.5-0.1 1.1]);实验四傅立叶变换和L TI系统的频域分析 4.2实验原理subplot(2,1,2);plot(f,abs(y));16xlabel('Frequency␣(Hz)');ylabel('Amplitude');axis([-5.5 5.50 1.1]);得到的图形如图4.1所示。
我们知道CFT的解析解是X(jω)=S a (ω2)=sin(ω/2)ω/2。
从图中可以看出,FFT数值解和解析解的结果是一致的。
请特别注意并根据傅立叶变换的定义式理解脚本第8行求得的傅立叶变换的数值大小、以及第11行确定的频率范围,和采样间隔(或频率)之间的关系。
程序中的第7行和第10行用来计算和显示MATLAB计算FFT所花费的时间。
在用FFT函数时我们使用了参数NFFT。
NFFT(见第6行)是一个大于信号长度、以2为基数的整数。
FFT(x,NFFT)会在输入序列x之后补零,使之长度为NFFT。
这样做的原因是当输入序列长度为2的整数次方时,FFT的算法更简单,效率更高。
序列补零后并不会影响计算得到的频谱,反而可增加频谱的采样点数,更有利于描绘信号的连续频谱。
另外第9行中fftshift函数的作用是将零频(直流)分量移到频谱的中心,因此相应的角频率ω的范围应变为[−πf s,πf s]。
图4.1矩形脉冲信号及其傅里叶变换例2求连续时间信号傅里叶变换的逆变换。
已知信号x(t)的傅里叶变换为X(jω)=4e−j2ω4+ω2,试画出信号的时域波形和相应的频谱图。
4.3实验内容实验四傅立叶变换和L TI系统的频域分析解:程序如下:Fs=100;2T=1/Fs;L=10000;4NFFT=2^nextpow2(L);f=((0:NFFT-1)/NFFT*2*pi-pi)*Fs;6t=(0:NFFT-1)*T;y=4*exp(-1j*2.*f)./(4+f.*f);8x=ifft(fftshift(y),NFFT)*Fs;x=fftshift(x);10t=t-NFFT*T/2;subplot(3,1,1);plot(t,real(x));12xlabel('Time␣(s)');ylabel('Amplitude');axis([-150 1.1]);14subplot(3,1,2);plot(f,abs(y));xlabel('Frequency␣(rad/s)');ylabel('Amplitude');16axis([-5.5 5.50 1.1]);subplot(3,1,3);plot(f,angle(y)*180/pi);18xlabel('Frequency(rad/s)');ylabel('Phase␣(degrees)');axis([-5.5 5.5-180180]);输出如图4.2所示。
至于离散时间信号,由于DFT求得的离散序列就是离散时间信号傅里叶变换的采样值,因此只需直接用FFT求其傅里叶变换离散采样值即可,这里不再赘述。
另外MATLAB提供了freqs函数,可用来计算系统函数H(jω)=N∑k=0b k(jω)k M∑k=0a k(jω)k在给定频点上频率响应的值,或者给定频点的数量N,返回自动选择的N个频点及相应的频率响应的值。
如果在调用时无输出参数,该函数将以波特图的形式画出系统的幅频特性和相频特性曲线。
在对系统进行频域分析时,可利用该函数求得系统频率响应的数值解。
实验四傅立叶变换和L TI系统的频域分析 4.3实验内容图4.24.3实验内容1.离散时间信号x[n]=2n(u[n+8]−u[n−9]),(a)试直接由离散时间傅里叶变换的定义式,求信号的傅里叶变换X(e jω);提示:求解过程需要对求解范围内ω进行离散化,通过计算得到各离散频点的函数值,得到X(e jω)的近似表示。
计算过程可利用MATLAB矩阵运算的特点,例如n=-8:8;x=2.^n;2N=500;w=(0:N-1)/N*4*pi-2*pi;y=x*exp(-j*n'*w);不需要任何循环控制语句,只要第3行的一条命令即可完成所有离散点上的求和过程(请仔细体会)。