我在用matlab求心电信号的功率谱和频谱图

学习 时间:2026-03-30 15:39:40 阅读:6372
我在用matlab求心电信号的功率谱和频谱图fs=100%设定采样频率N=128;n=0:N-1;%进行FFT变换并做频谱图x=load('F:\ZB.txt');y=fft(x,N);%进行fft变换mag=abs(y);%求幅值f=(0:length(y)-1)'*fs/length(y);%进行对应的频率转换figure(1);subplot(2,2,1);plot(f,mag);%做频谱图axis([0,100,0,50]);xlabel('频率(Hz)');ylabel('幅值');title('心电信号幅频谱图');grid;%求功率谱x=load('F:\ZB.txt');c=xcorr(x);p=fft(c,N);figure(1);subplot(2,2,2);plot(f,p);xlabel('频率(Hz)');ylabel('功率谱');title('心电信号功率谱');grid;txt中存放的是心电图中R_R的一系列数据 但是出来的结果不对 麻烦看下问题出在哪里

最佳回答

彪壮的眼睛

开朗的汉堡

2026-03-30 15:39:40

matlab里面有直接求出功率谱的函数呀~用周期图法或者间接法计算就行。cx=xcorr(x,'unbiased');CXk=fft(cx,N);Pxx=abs(CXk);index=0:round(N/2-1);k=index*Fs/nfft;plot_Pxx=10*log10(Pxx(index+1));figure(3);plot(k,plot_Pxx);这只是计算功率谱的一种方法,不知道对你有没有帮助或者你可以直接用periodogram函数计算,函数的格式你在matlab的帮助可以看到

最新回答共有2条回答

  • 玩命的电脑
    回复
    2026-03-30 15:39:40

    matlab里面有直接求出功率谱的函数呀~用周期图法或者间接法计算就行。cx=xcorr(x,'unbiased');CXk=fft(cx,N);Pxx=abs(CXk);index=0:round(N/2-1);k=index*Fs/nfft;plot_Pxx=10*log10(Pxx(index+1));figure(3);plot(k,plot_Pxx);这只是计算功率谱的一种方法,不知道对你有没有帮助或者你可以直接用periodogram函数计算,函数的格式你在matlab的帮助可以看到

上一篇 老公我爱你四川方言怎么说

下一篇 求水稻花粉的重量.水稻单粒花粉的重量,要有来源文献,