《信号与系統》仿真实验 实验指示书要点 实验三 信号的频谱分析
1 《信号与系统》仿真实验 实验指示书要点 实验三 信号的频谱分析
系统仿真的要点 关于快速傅立叶变换的t函数的 调用 频谱分析举例
2 系统仿真的要点 • 关于快速傅立叶变换的fft函数的 调用 • 频谱分析举例
、数的调用 ft(xDFT的快速算法 (1)数据长度为N; 若N为2的整数次幂,则是基2的 DFT,运算速度较快; 若N不为2的整数次幂,则运算速 度较慢。 (2)若数据实际长度小于N,则自动补 些零,使之长度等于N
3 一、fft函数的调用 • fft(x)—DFT的快速算法 (1) 数据长度为N; 若N为2的整数次幂,则是基-2的 DFT,运算速度较快; 若N不为2的整数次幂,则运算速 度较慢。 (2)若数据实际长度小于N,则自动补 一些零,使之长度等于N
复指数座标 正变换 X(k+1)=∑x(m+1W减 反变换 x(m+1)=∑X(k+1) 其中
4 • 复指数座标 – 正变换 – 反变换 其中 N n nk WN X k x n 1 ( 1) ( 1) N n nk WN x n X k 1 ( 1) ( 1) N j N W e 2
ff(x或f(x,N)的调用编程 t=(0:1/255:1); x=exp(-0.9)*sin(2 pi 60*t) y=fft(x) ry-real(y a=abs(y) plot(t, ry, r,t, a, b-") grI d 这里是归一化频率
5 • fft(x) 或fft(x,N)的调用编程 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 -20 -10 0 10 20 30 40 50 t=(0:1/255:1); x=exp(-0.9)*sin(2*pi*60*t); y=fft(x); ry=real(y); a=abs(y); plot(t,ry, 'r-' ,t,a, 'b--'); grid 这里是归一化频率
利用f计算功率谱的函数 演示 fftdemo (1)产生信号 (2)调用函数计算频率特性f (3)计算功率谱(Pyy) (4)显示结果
6 利用fft计算功率谱的函数 演示——fftdemo (1)产生信号 (2)调用函数计算频率特性(fft) (3)计算功率谱(Pyy) (4)显示结果
(1)产生信号 运行软件 Matlab,进入 Matlab Comand Windows 运行 idema命令,该程序是按照一步 步的断点执行的,它能一边显示注解, 边给出每一步的结果,所以我们根据 这个演示,能学会聞函数的调 用及其有关应用技巧
7 (1)产生信号 • 运行软件Matlab, 进入Matlab Comand Windows • 运行fftdemo命令,该程序是按照一步 一步的断点执行的,它能一边显示注解, 一边给出每一步的结果,所以我们根据 这个演示,能学会fft函数的调 用及其有关应用技巧
To get started, type one of these commands: helpwin, helpdesk, or demo For information on all of the Math Works products type tour offtdemo CIc This example shows the use of the fft function for spectral %o analysis. A common use of fFTs is to find the equency components of a signal buried in a noisy time domain signal
8 To get started, type one of these commands: helpwin, helpdesk, or demo. For information on all of the MathWorks products, type tour. ?fftdemo clc % This example shows the use of the FFT function for spectral % analysis. A common use of FFT's is to find the frequency % components of a signal buried in a noisy time domain signal. %
要求产生一个时间从0到250毫秒的,含 有噪声的,频率为50到120Hzde时域信 号,噪声的标准差为2。离散信号的时间 间隔为1毫秒。 程序如下: t=0:.001:25; X=sin(2*pi*50*t)+sn(2*pi*120*t) y=X+2 randn (size(t); plot(y(1: 50)), title( Noisy time domain signal)
9 • 要求产生一个时间从0到250毫秒的,含 有噪声的,频率为50到120Hzde 时域信 号, 噪声的标准差为2。离散信号的时间 间隔为1毫秒。 • 程序如下: t = 0:.001:.25; x = sin(2*pi*50*t) + sin(2*pi*120*t); y = x + 2*randn(size(t)); plot(y(1:50)), title('Noisy time domain signal')
o first we need to create some data. Consider data sampled at 1000 HZ. We start by forming a time axis for our data, running from t=0 until t=25 in steps of 1 millisecond t=0:001:25: pause %o Strike any key to continue
10 % First we need to create some data. Consider data sampled at % 1000 Hz. We start by forming a time axis for our data, running % from t=0 until t=.25 in steps of 1 millisecond: t = 0:.001:.25; pause % Strike any key to continue