|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
求fft高手为我解答!
[$ b, _( P. ^/ ?我现在遇到的问题是:( V' {$ G E3 w2 d9 O
在matlab中我的输入信号为:5 d: J" A3 _- I3 T. @4 I& J
S=Adc+A1*cos(2*pi*50*t+pi*P1/180)+A2*cos(2*pi*75*t+pi*P2/180);
( M. x$ P) t+ h- m( G2 ?, }. F7 f取256点,通过FFT后,结果如图一所示:通常看图形的左半面,可以容易的看出50赫兹和75赫兹的信号
1 v0 @: {' X; q* G9 A" a+ L4 W而我把输入信号改为:
1 ~3 s, H+ q- }. F/ g- z/ n% ^S=Adc+A1*cos(2*pi*50*t+pi*P1/180)+A2*cos(2*pi*150*t+pi*P2/180);
" g6 A. v- }6 i2 G# A, a, F此时看图二,还是看左半面,我看到的是50赫兹和130赫兹的信号。。。真正的信号跑到右半面去了。。。。6 ^7 g/ Q7 q4 n! k8 Z
如果我们的信号是未知的,那到底如何通过频谱图分析信号呢?
9 s1 M" `3 S3 F; Q+ `, A我就没有多少财富。。。。就50啦。。。希望高手看下。。。
; `9 W: i7 e- {6 |+ q我matlab的程序为:) f! }, r7 D d) V: t9 ^* o
close all; %先关闭所有图片 n7 Q$ k" C7 _" r- v$ {4 R
Adc=2; %直流分量幅度
: p1 x! T% ^+ q- o& } OA1=3; %频率F1信号的幅度
" d+ y5 ?' _& u( {+ UA2=1.5; %频率F2信号的幅度& t8 R1 ]: x5 g! @
F1=50; %信号1频率(Hz)& t" R- \2 ]/ _& c
F2=75; %信号2频率(Hz)
. W. u* l5 [. C1 M+ w3 N, F. vFs=256; %采样频率(Hz)
. D3 R# p% J5 n9 NP1=-30; %信号1相位(度)
# U" X% {6 `" x7 ?P2=90; %信号相位(度)/ ?) q# l! V- u, I
N=256; %采样点数' X, W. Y6 l: \- s
t=[0:1/Fs:N/Fs]; %采样时刻0 @: i1 v* k) B& ^" r
%信号
* A3 b: Q% q/ d' c& P4 @8 t% yS=Adc+A1*cos(2*pi*F1*t+pi*P1/180)+A2*cos(2*pi*F2*t+pi*P2/180);4 D3 O: _$ {- ]( f1 d0 H
%显示原始信号
8 v5 f) ^& @& @+ b- m9 M; Splot(S);4 R3 s- J: \. r( |! E3 ^9 \7 ?0 V
title('原始信号');% D3 O+ e7 V7 J% p7 f
figure;( C, _4 W! m! S0 K6 D
Y = fft(S,N); %做FFT变换) [4 b1 S5 {: E8 x9 X! B( Z$ x9 E* a
Ayy = (abs(Y)); %取模% F8 J: C2 c: ^) `8 z) I
plot(Ayy(1:N)); %显示原始的FFT模值结果
, ?' N" t. `& m& Ztitle('图1');
$ B$ R2 e; i$ k+ D8 l8 Xfigure;$ ? s! T* y) I7 h! p; f
Ayy=Ayy/(N/2); %换算成实际的幅度0 D# V) J. F4 ?+ R0 [3 u
Ayy(1)=Ayy(1)/2;
( l ~7 [. i h- I4 g8 M7 KF=([1:N]-1)*Fs/N; %换算成实际的频率值) p4 a0 `. Z1 T5 X. _7 E7 p- F
plot(F(1:N/2),Ayy(1:N/2)); %显示换算后的FFT模值结果
: D1 _+ i# O. _) H: X! G4 qtitle('幅度-频率曲线图');
c. ^9 _. j0 t/ V. \figure;+ [" ]# k! m; \5 W' s
Pyy=[1:N/2];
6 Z, v" f5 g/ h" S6 m- ?, |' {for i=1:N/2
: m4 A& N L) V) r5 E* r1 |Pyy(i)=phase(Y(i)); %计算相位& p! v0 ?3 `, }; G4 a, Y$ {
Pyy(i)=Pyy(i)*180/pi; %换算为角度% ^2 k0 ~+ X6 J d
end;) W& I! N) K8 p5 T: D. F
plot(F(1:N/2),Pyy(1:N/2)); %显示相位图" U" o4 a& c! x# @# S
title('相位-频率曲线图');
5 \; N( w/ E- ?6 ?8 G
- G0 M" }0 w9 P) i( p; R0 g: Z$ @
|
|