Matlab 版 (精华区)
发信人: zjliu (秋天的萝卜), 信区: Matlab
标 题: [合集]请问高手,频率计算问题!
发信站: 哈工大紫丁香 (2003年09月23日15:29:43 星期二), 站内信件
────────────────────────────────────────
Skyblue (原来的我) 于
做一个时域抽样信号的功率谱密度,
抽样时间 Delta=0.02 s
序列长度 length(cd)=5045
这样写的:
ycd=fft(cd);
Pycd=ycd.*conj(ycd);
plot(Pycd),title('Power Spectral Density'),Xlabel('Frequency');
但是画出的频谱图,横坐标只是从1-5045,不是对对应的频率。
为此,
特别试了一下fft变换的结果的频率是否正确:
t=0:0.01:10;
y=cos(2*pi*50*t);
Y=fft(y);
Y1=abs(Y)
plot(Y1);
理论上应该是f=50Hz有尖峰脉冲,但是画出的图却不是。
特此向各位请教,频率f怎么计算,也画出正确的对应的f-A图以及功率谱密度图!
谢谢!
--
参考文献:
[1] 王朔 《动物凶猛》
[2] 安妮宝贝 《八月未央》
[3] 哈尔滨工业大学 《现代数学基础》
[4] 王菲 《灌水无罪》
※ 来源:.哈工大紫丁香 bbs.hit.edu.cn [FROM: 202.105.139.22]
────────────────────────────────────────
motor (大虎) 于 2003年08月29日12:05:19 星期五 说道:
doc fft
看看fft命令带的例子,你画图的时候没有给出频率--横轴
────────────────────────────────────────
Mathsims (地道的炎黄子孙) 于 看看plot的帮助,要仔细,顺便学学英文。
────────────────────────────────────────
Skyblue (原来的我) 于 怎么计算频率?!
关键我就想给出频率横轴,却不知道给呀?!
再请教!:)
────────────────────────────────────────
Skyblue (原来的我) 于 老兄,
现在想问怎么计算频率呀!:)
────────────────────────────────────────
zjliu (秋天的萝卜) 于 2003年08月29日13:44:00 星期五 说道:
你看看这个,频率不在50Hz是因为需要用fftshift处理一下
以下程序已含频率计算
t=0:0.01:10;
y=cos(2*pi*50*t);
N=length(t); %采样点数,应为2的幂次,以求快速。
T=t(length(t))-t(1); %窗口长度
dt=0.01; %时间分辨率。
Y=fft(y); %施行FFT变换<16>
df=1/T; %频率分辨率
n=0:N-1;
f=n*df; %频率分度向量
AW=abs(Y); %福频谱数据向量
plot(f,AW);grid,xlabel('频率f');ylabel('|w(f)|')
────────────────────────────────────────
Skyblue (原来的我) 于 df=1/T?!
谢谢!
~~~~~~~~~df=1/T?!--->>>是不是应该是df=1/dt?!
────────────────────────────────────────
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.311毫秒