概述
本应该为基础知识的维纳辛钦定理的证明,在matlab调试中遇到的大坑。为了验证,本人编写了一个从求取FFT,到多种方法求取PSD的matlab程序。
问题主要集中在x轴和y轴应该如何取值的问题上,单纯计算出数值很容易,但是想把图画成一样的却很麻烦,网上基本搜不到相关的程序,都只是定理。
这个程序调试了三天才搞定,如果对你有帮助,请关注我,顺手点个赞,感谢。
%% 这个test主要是验证信号的FFT,PSD,以及使用FFT求取PSD的正确性
clear;
clc;
Fs = 1000; % Sampling frequency
T = 1/Fs; % Sampling period
L = 1500; % Length of signal
t = (0:L-1)*T; % Time vector
S = 0.7*sin(2*pi*50*t) ;%幅值为0.7频率为50的正弦信号
%% 信号的傅里叶FFT变换
Y = fft(S);
P2 = abs(Y/L);
P1 = P2(1:L/2+1);% 实信号的功率谱是对称的,只用取一半即可
P1(2:end-1) = 2*P1(2:end-1);
f = Fs*(0:(L/2))/L;
%% FFT获得功率谱密度PSD
Y = Y(1:L/2+1);% 实信号的功率谱是对称的,只用取一半即可
psdx = (1/(Fs*L)) * abs(Y).^2;% 注意使用采样频率和fft点数归一化
psdx(2:end
最后
以上就是淡然店员为你收集整理的信号功率谱密度matlab,Matlab2019b中常用的音频信号分析,快速傅里叶(FFT),功率谱密度(PSD),以及通过FFT求取功率谱密度的问题...的全部内容,希望文章能够帮你解决信号功率谱密度matlab,Matlab2019b中常用的音频信号分析,快速傅里叶(FFT),功率谱密度(PSD),以及通过FFT求取功率谱密度的问题...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复