pjzhouqi.m
来自「对噪声及信号的功率谱估计,生物医学信号处理,matlab编程实现」· M 代码 · 共 25 行
M
25 行
clear; %功率谱估计
Fs=10000; %采样频率
L=2; %数据长度
n=0:1/Fs:L;
N=length(n);
x1=sin(2*pi*40*n);
e=randn(1,N);%白噪声
x=x1+e;
k=100;
m=(N-1)/k;
xk=zeros(k,m);
X=zeros(k,2*m);
Rx=zeros(k,4*m-1);
M=zeros(k,2*m);
for i=1:k
xk(i,:)=x((i-1)*m+1:i*m);
z=zeros(1,m);
X(i,:)=[xk(i,:) z]; %补零
Rx(i,:)=xcorr(X(i,:),X(i,:)); %自相关
M(i,:)=abs(fft(Rx(i,:),2*m)); %做FFT并取模
end;
Sk=mean(M);
plot((1:2*m)*Fs/(2*m),Sk); %把横坐标转换成频率,并使数据一致
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?