在matlab中怎么画sin(x)的频谱图,相位图?
在看《信号与系统》的时候,发现讲的好高大上。事实上我连个最简单的画sin(x)的频谱图,相位图都不是很确信。想问下大家,在matlab中怎么画sin(x)的频谱图,相位图?这样可以方便我看看和自己纸上画的是不是一样?谢谢 在网上找了个blog;可以去看看里面的代码,直接复制执行即可http://blog.163.com/fei_lai_feng/blog/static/9289962200971751114547/ 百度一下一大片,掌握好搜索工具 matlab自带 li.wen 发表于 2014-9-12 18:43
在网上找了个blog;可以去看看里面的代码,直接复制执行即可
http://blog.163.com/fei_lai_feng/blog/stat ...
恩。谢谢!但是这个是弄得幅度谱,没有相位谱。 相位谱怎么弄呢? 熵之矢 发表于 2014-9-12 19:24
百度一下一大片,掌握好搜索工具
确实。百度是很多,但这个我问之前就搜过了。百度上能找到很多幅度谱的,相位谱怎么弄我就没找到。谢谢 fft出来的是每个点是复数,既包含幅度信息,有包含相位信息 yfwuh 发表于 2014-9-12 20:55
fft出来的是每个点是复数,既包含幅度信息,有包含相位信息
还有问题,时域波形和 傅里叶得到的波形是不是1对1匹配的,即 根据时域波形能够得到唯一的频域波形。根据频域波形也能够得到唯一的时域波形呢? 用matlab自带的simulink搭建一个,可以方便的进行各种处理分析 t = 0:0.0002:0.1;
figure(1)
plot(0:length(t)-1,abs(fft(sin(2*pi*1000*t))));
figure(2)
plot(0:length(t)-1,angle(fft(sin(2*pi*1000*t))))
charlesg 发表于 2014-9-13 11:53
t = 0:0.0002:0.1;
figure(1)
plot(0:length(t)-1,abs(fft(sin(2*pi*1000*t))));
你这样我试了,图出来了,但是 不太对啊。应该频率在 1000HZ吧。但是图上是100和 400有值了。不懂原因。谢谢 imjacob 发表于 2014-9-14 18:45
你这样我试了,图出来了,但是 不太对啊。应该频率在 1000HZ吧。但是图上是100和 400有值了。不懂原因。 ...
采样率是5K,图上X轴有500个左右的点,表示从DC-5K,你觉得100和400号点是代表多少频率?
另外400出现信号,是因为混叠,没有把大于Fs/2的频率去掉 charlesg 发表于 2014-9-14 19:19
采样率是5K,图上X轴有500个左右的点,表示从DC-5K,你觉得100和400号点是代表多少频率?
另外400出现信 ...
为什么是采样率5k呢?我没看出来。 500个点我是看出来了,0.1/0.0002=500.另外,我原来以为100,400就是100hz,400hz了。想来肯定是错的。但还没搞清楚原因。
水平很菜,还望指教,谢谢! imjacob 发表于 2014-9-14 22:26
为什么是采样率5k呢?我没看出来。 500个点我是看出来了,0.1/0.0002=500.另外,我原来以为100,400就 ...
t = 0:0.0002:0.1;
因为上面这段。
t的间隔是0.0002(如果默认为秒的话,就是5KHz了) charlesg 发表于 2014-9-14 22:39
t = 0:0.0002:0.1;
因为上面这段。
t的间隔是0.0002(如果默认为秒的话,就是5KHz了) ...
那最终的结果100代表1khz是因为 1/0.1=10,所以要扩大10倍吗。我不理解,只能这么乱猜了 imjacob 发表于 2014-9-15 08:46
那最终的结果100代表1khz是因为 1/0.1=10,所以要扩大10倍吗。我不理解,只能这么乱猜了 ...
可能你拘泥于所谓的时域频域。
仔细想想,一堆离散的点,有频率吗?有时间吗? charlesg 发表于 2014-9-15 23:56
可能你拘泥于所谓的时域频域。
仔细想想,一堆离散的点,有频率吗?有时间吗? ...
恩。但sin(2*pi*1000*t)这个函数怎么会是离散的点呢?他的频率是1khz的正弦波,然后采样频率是5khz。所以一个周期要采样5各点。因为要采样500各点,所以需要100个周期。当然可以做FFT了 本帖最后由 imjacob 于 2014-9-17 22:10 编辑
自己参照网上弄了个程序,基本满足我的要求:
close all; %先关闭所有图片
F1=50; %信号1频率(Hz)
Fs=256; %采样频率(Hz)
N=256; %采样点数
t=; %采样时刻
%信号
S=sin(2*pi*F1*t);
%显示原始信号
plot(S);
title('原始信号');
Y = fft(S,N); %做FFT变换
Ayy = (abs(Y)); %取模
figure;
Ayy=Ayy/(N/2); %换算成实际的幅度
Ayy(1)=Ayy(1)/2;
F=(-1)*Fs/N; %换算成实际的频率值
plot(F(1:N/2),Ayy(1:N/2)); %显示换算后的FFT模值结果
title('幅度-频率曲线图');
figure;
Pyy=;
for i=1:N/2
Pyy(i)=phase(Y(i)); %计算相位
Pyy(i)=Pyy(i)*180/pi; %换算为角度
end;
plot(F(1:N/2),Pyy(1:N/2)); %显示相位图
title('相位-频率曲线图'); 本帖最后由 imjacob 于 2014-9-17 22:09 编辑
imjacob 发表于 2014-9-17 22:02
自己参照网上弄了个程序,基本满足我的要求:
close all; %先关闭所有图片
但我的问题是 这里只用了fft和 abs,phase就求得了幅度谱和相位谱,为什么看到有些文章上会用到功率谱来得到 幅度谱和相位谱呢?这两种方法有什么区别呢?
页:
[1]