网站建设好后能直接打开吗,汽车门户网站 源码,玄圭互联网站建设推广,页面设计怎么样基础知识 FFT即快速傅里叶变换#xff0c;利用周期性和可约性#xff0c;减少了DFT的运算量。常见的有按时间抽取的基2算法#xff08;DIT-FFT#xff09;按频率抽取的基2算法#xff08;DIF-FFT#xff09;。
1.利用自带函数fft进行快速傅里叶变换 若已知序列x[4,3,2,6…基础知识 FFT即快速傅里叶变换利用周期性和可约性减少了DFT的运算量。常见的有按时间抽取的基2算法DIT-FFT按频率抽取的基2算法DIF-FFT。
1.利用自带函数fft进行快速傅里叶变换 若已知序列x[4,3,2,6,7,8,9,0]x[4,3,2,6,7,8,9,0]x[4,3,2,6,7,8,9,0]求X(k)DFT[x(n)]X(k)DFT[x(n)]X(k)DFT[x(n)] 代码非常简单只有两行
x[4,3,2,6,7,8,9,0];
xkfft(x)一般对MATLAB而言要想让它显示出结果计算的部分不要加分号。 2.绘制128点DFT的幅频图 已知信号由15Hz幅值0.5的正弦信号和40Hz幅值2的正弦信号组成数据采样频率为100Hz,试绘制N128点DFT的幅频图。 关于下列代码的解释
f(0:N-1)*fs/N;其中(0:N-1)是生成了一个长度为N间隔为1的列向量转置所得到的行向量。fs/N是指频域上的频率间隔。 若N点序列x(n)(n0,1,…,N-1)是在采样频率fs(Hz)下获得的。它的FFT也是N点序列即X(k)k0,1,…,N-1则第K点对应实际频率值为: fk*fs/N
clc;
fs100;
Ts1/fs;%采样时间间隔
N128;
n0:N-1;
tn*Ts; %x不是直接关于n的函数因为是固定的采样时间点
x0.5*sin(2*pi*15*t)2*sin(2*pi*40*t);yfft(x,N);
f(0:N-1)*fs/N;
stem(f,abs(y));运行结果 同时也可以可看到这个幅度谱是关于fN对称的。 3.利用FFT进行功率谱的噪声分析 已知带有测量噪声信号x(t)sin(2πf1t)sin(2πf2t)2w(t)x(t)sin(2πf1t)sin(2πf2t)2w(t)x(t)sin(2πf1t)sin(2πf2t)2w(t) 其中f150Hzf2120Hz w(t)为均值为零、方差为1的随机信号采样频率为1000Hz数据点数N512。试绘制信号的功率谱图。 下面先介绍几个基本的函数和知识 conj(Y) conj(Y) 是 MATLAB 中的一个函数表示对 Y 中的每个元素取其共轭复数。如果 Y 是一个实数数组则返回其本身。在信号处理中常常使用共轭复数进行频域变换的处理。 求功率 PY.*conj(Y)/512; 注意这里是点乘啊。 在信号处理中功率可以表示为信号的平均能量。对于一个离散时间信号其能量可以表示为其幅度平方的总和即 E∑n0N−1∣x[n]∣2E \sum_{n0}^{N-1} |x[n]|^2 En0∑N−1∣x[n]∣2 其中NNN 是信号的抽样点数x[n]x[n]x[n] 是信号在时刻 nnn 的采样值。这里的 ∣x[n]∣2|x[n]|^2∣x[n]∣2 表示对 x[n]x[n]x[n] 取模长平方。 如果要计算信号的平均功率可以将其总能量除以抽样点数即 PEN1N∑n0N−1∣x[n]∣2P \frac{E}{N} \frac{1}{N} \sum_{n0}^{N-1} |x[n]|^2 PNEN1n0∑N−1∣x[n]∣2 这里的 PPP 表示信号的功率。 在代码中YYY 表示信号的离散傅里叶变换即频域表示其幅度 ∣Y∣|Y|∣Y∣ 表示信号在每个频率分量上的贡献。为了计算信号的功率谱需要将 YYY 变换为其幅度平方即 ∣Y∣2|Y|^2∣Y∣2。由于 YYY 中包含了正频率和负频率的信息因此需要对其进行共轭操作即将负频率部分取共轭复数然后再与正频率部分相乘即 Y⋅conj(Y)Y \cdot \operatorname{conj}(Y)Y⋅conj(Y)。最后将结果除以抽样点数 NNN即可得到功率谱 PPP PY⋅conj(Y)NP \frac{Y \cdot \operatorname{conj}(Y)}{N} PNY⋅conj(Y) 这里的 PPP 是一个长度为 NNN 的向量表示信号在每个频率分量上的功率。 randn andn是MATLAB中的一个函数用于生成一个均值为0方差为1的标准正态分布随机数。例如可以使用以下代码生成一个大小为3x3的标准正态分布随机矩阵 A randn(3,3); 完整代码
clc;
t0:0.001:0.6;%设置步进与时间区间
xsin(2*pi*50*t)sin(2*pi*120*t);%根据已知写出信号的表达式
noiserandn(1,length(t));%生成均值为零、方差为1的随机信号也就是噪声
yxnoise;%带有噪声的信号
subplot(121);
plot(t,y);fs1000;
Yfft(y,512);%512点的FFT
PY.*conj(Y)/512;%求功率
f(0:255)*fs/256%由上面的分析可知频谱关于奈奎斯特频率对称所以取其中一半
subplot(122);
plot(f,P(1:256))%功率随频率的变化即功率谱图,绘制出一半运行结果 4.序列长度和FFT的长度对信号频谱的影响 已知信号 x(t)0.5sin(2πf1t)2sin(2πf2t)x(t)0.5sin(2πf1t)2sin(2πf2t)x(t)0.5sin(2πf1t)2sin(2πf2t) 其中f115Hz,f240Hz,采样频率为100Hz. 在下列情况下绘制其幅频谱。 有了前面的基础这里就比较简单了 代码
nlength32;
nfft132;
nfft2128;
fs100;
Ts1/fs;
n0:nlength-1;
tn*Ts;x0.5*sin(2*pi*15*t)2*sin(2*pi*40*t);y1fft(x,nfft1);
f1(0:31)*fs/32;
subplot(211);
Y1abs(y1);
plot(f1(1:16),Y1(1:16));y2fft(x,nfft2);
f2(0:127)*fs/128;
subplot(212);
Y2abs(y2);
plot(f2(1:64),Y2(1:64));运行结果 结果分析 采样点数越多其频谱越光滑。 注意 绘制图形的时候一定要分析清楚是频谱图还是某一个变换其目的在于分清谁是因变量谁是自变量。