找回密码
 注册
关于网站域名变更的通知
查看: 251|回复: 4
打印 上一主题 下一主题

[仿真讨论] 关于FFT频率确定的问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2022-8-19 11:08 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
求fft高手为我解答!( g1 M# e% E6 B. z# L' k" a1 a" d( d
我现在遇到的问题是:
& Z( g6 v3 r; t' R在matlab中我的输入信号为:
$ {9 q) `# K  o. N9 o) y, f! s% GS=Adc+A1*cos(2*pi*50*t+pi*P1/180)+A2*cos(2*pi*75*t+pi*P2/180);$ O% T, G3 E6 ~8 b2 m& e% {
取256点,通过FFT后,结果如图一所示:通常看图形的左半面,可以容易的看出50赫兹和75赫兹的信号
# k* r% {) S  v2 m7 o1 x而我把输入信号改为:
( T, s& Y5 a- Q% T$ Q8 YS=Adc+A1*cos(2*pi*50*t+pi*P1/180)+A2*cos(2*pi*150*t+pi*P2/180);
. R5 n4 U! p" k# M此时看图二,还是看左半面,我看到的是50赫兹和130赫兹的信号。。。真正的信号跑到右半面去了。。。。* T2 ?# @4 G  E3 ?9 d9 \
如果我们的信号是未知的,那到底如何通过频谱图分析信号呢?
  ?/ e! ?4 A7 ?5 t' L5 e# Z7 }我就没有多少财富。。。。就50啦。。。希望高手看下。。。  h7 ?9 @$ ?& Z3 x& T5 ~! ^, `; [4 X) [1 v
我matlab的程序为:# @7 S. z5 o9 V8 l4 [/ R( S
close all; %先关闭所有图片
, w. e) }4 l0 g/ VAdc=2; %直流分量幅度& i: f* o2 g! {
A1=3; %频率F1信号的幅度. T8 t3 g- V* t0 H% d
A2=1.5; %频率F2信号的幅度
9 \* U5 [. k  T5 {% L; R. MF1=50; %信号1频率(Hz)
# \8 U/ z+ {& _3 i# L% d& `F2=75; %信号2频率(Hz)
2 v" b5 P3 c+ L" q5 t* SFs=256; %采样频率(Hz)9 Z) j9 |5 n3 Q- Z1 Y
P1=-30; %信号1相位(度)3 t' K$ Z- C6 D1 ?: H
P2=90; %信号相位(度)" S; L* ~" T4 _' G! B, `1 k) {
N=256; %采样点数$ e' O& m5 c8 B* i7 ^
t=[0:1/Fs:N/Fs]; %采样时刻
' M. I9 y' C( z%信号
) P' B3 a  U* j, Y8 ~  @# g5 V8 AS=Adc+A1*cos(2*pi*F1*t+pi*P1/180)+A2*cos(2*pi*F2*t+pi*P2/180);+ d7 ^- q4 A( Q1 X7 k
%显示原始信号
$ F4 P! b% T5 }+ Y  eplot(S);9 r7 k6 e6 w: z, B1 C6 z
title('原始信号');
7 W' q7 o4 D9 c& y4 M9 P( [! Lfigure;9 r) W6 ~" e% d9 [# u
Y = fft(S,N); %做FFT变换+ Q+ L$ W. l7 f
Ayy = (abs(Y)); %取模
1 X: r4 B( A, }; a( R* A5 mplot(Ayy(1:N)); %显示原始的FFT模值结果
6 ^4 p; n9 z6 r! Ktitle('图1');9 q1 W) l, l/ y  z% }* b
figure;& C4 v" m8 R$ F
Ayy=Ayy/(N/2); %换算成实际的幅度
: g; h+ K5 Z  I& ?9 r! ]Ayy(1)=Ayy(1)/2;
. F- X* p& `: p: ?. e( ~F=([1:N]-1)*Fs/N; %换算成实际的频率值" `3 o$ m. ?; L, e+ `1 Q
plot(F(1:N/2),Ayy(1:N/2)); %显示换算后的FFT模值结果' }* D  l  {  x' b' L$ h0 C6 d
title('幅度-频率曲线图');
5 |* v% H5 _7 e! P; h0 Qfigure;; Z7 t5 G- [& [2 F/ P( b' w
Pyy=[1:N/2];; X6 w; v* c1 i! t$ C2 W: R! l
for i=1:N/23 U( q  Q0 ]1 U" M
Pyy(i)=phase(Y(i)); %计算相位
7 N6 _* n) e, \- m. }Pyy(i)=Pyy(i)*180/pi; %换算为角度
, _$ O$ |. e4 \5 h, b+ n  |0 i+ eend;# k4 j2 k" y$ n# Z9 Y1 v. G* P
plot(F(1:N/2),Pyy(1:N/2)); %显示相位图
! X1 E. @) P1 M& J' btitle('相位-频率曲线图');/ M0 M3 T2 A0 S
2 ?0 j& b; k1 O

该用户从未签到

5#
发表于 2022-8-19 16:08 | 只看该作者
再看看别人是怎么说的9 c7 j- w" h+ {4 l

该用户从未签到

4#
发表于 2022-8-19 16:03 | 只看该作者
采样率不对,会导致混叠8 H: L- p* t5 Q

该用户从未签到

3#
发表于 2022-8-19 15:48 | 只看该作者
256Hz的采样频率只能分析小于128Hz的信号,所以在采样以前应该设计一个低通滤波器,避免大于128Hz的信号混叠到带内。8 ]$ K8 I' A6 t) P2 y

该用户从未签到

2#
发表于 2022-8-19 13:14 | 只看该作者
首先ADC采样要满足Nyquist采样定义,最简单就是FS>=2F0。你的FS是256Hz,而第二个仿真中出现了一个150Hz的信号分量,也就是不能满足采样定理。在仿真中的表现就是150Hz的信号混叠到采样带宽内了。
9 B7 e* s/ I+ R! K9 x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-7-14 00:28 , Processed in 0.140625 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表