在 MATLAB 下如何实现对一组数据振幅谱和相位谱

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在 MATLAB 下如何实现对一组数据振幅谱和相位谱相关的知识,希望对你有一定的参考价值。

我有一组数据,共7200个。 采样率是分钟值。我的问题如何用MATLAB绘出这组数据的振幅谱和相位谱。急用!谢谢各位大侠了!

cl;
img=imread('15.bmp');
%img=double(img);
f=fft2(img); %傅里叶变换
f=fftshift(f); %使图像对称
r=real(f); %图像频域实部
i=imag(f); %图像频域虚部
margin=log(abs(f)); %图像幅度谱,加log便于显示
phase=log(angle(f)*180/pi); %图像相位谱
l=log(f);
subplot(2,2,1),imshow(img),title('源图像');
%subplot(2,2,2),imshow(l,[]),title('图像频谱');
subplot(2,2,3),imshow(margin,[]),title('图像幅度谱');
subplot(2,2,4),imshow(phase,[]),title('图像相位谱');
参考技术A 为什么我觉得我以前见过这个问题。。。
数据是x(i),共N个点,采样频率是fsample

dt = 1/fsample
df = 1/N/dt
f = 0:df:(N-1)*df

X=fft(fftshift(x))
plot(f,real(X))
plot(f,imag(X))本回答被提问者和网友采纳

Matlab绘制幅值谱和相位谱

1. 对于直接给出频响函数的情况

   这里以滑动平均的频响函数作为例子,滑动窗口为[0, 4]。

   

  上式中M2=4。

>> w=0:0.001:2*pi;

>> h1=1-exp(-j*w*5);

>> h2=1-exp(-j*w);

>> h=0.2*h1./h2;                % 注意这里是点除

>> plot(w/pi,abs(h));            % 横轴以pi为单位

>> plot(w/pi,angle(h));

 

以上是关于在 MATLAB 下如何实现对一组数据振幅谱和相位谱的主要内容,如果未能解决你的问题,请参考以下文章

matlab中怎么画函数的相位谱

Matlab绘制幅值谱和相位谱

求matlab周期三角波信号频谱分析的代码,能画出三角波信号、幅度谱和相位谱。

Matlab数字图像处理,要求详细解释代码,每个函数都要解释.这个是对图像求幅值谱和相位谱,并对其进行重构.

转载时域信号的频谱功率谱和功率谱密度计算

数字信号调制基于matlab GUI FSK调制+解调含Matlab源码 645期