声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1298|回复: 5

[FFT] 求教-fft的模值最大点

[复制链接]
发表于 2009-3-2 15:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
ax_200=[1360 1264 1174 1089 1001 923 843 773 703 646 589 533 492 447 412 388 366 353 346 341 345 358 374 400 431 470 513 561 615 672 740 812 891 967 1051 1138 1228 1321 1421 1517 1618 1715 1817 1919 2025 2129 2232 2334 2437 2536 2637 2729 2825 2912 2995 3078 3154 3228 3293 3358 3411 3460 3506 3542 3578 3609 3630 3644 3652 3653 3649 3637 3618 3596 3563 3532 3486 3438 3386 3324 3261 3192 3117 3038 2949 2865 2778 2682 2589 2493 2390 2284 2185 2080 1975 1875 1772 1669 1568 1468 1372 1274 1184 1095 1010 927 849 773 702 643 588 536 490 446 416 389 369 352 346 346 351 361 381 401 428 467 511 556 609 668 730 806 881 958 1040 1130 1221 1313 1412 1510 1613 1713 1819 1921 2026 2128 2229 2334 2431 2527 2629 2720 2813 2902 2985 3068 3144 3218 3288 3346 3411 3458 3504 3547 3584 3611 3630 3646 3658 3658 3650 3639 3622 3598 3567 3527 3486 3442 3385 3330 3264 3196 3119 3044 2959 2878 2786 2694 2597 2501 2400 2297 2193 2085 1981 1882 1777 1674 1571 1470 ];
bx_200=[1270 1355 1204 1361 1378 1335 1279 1286 1221 1301 1286 1211 1136 1286 1260 1297 1207 1304 1357 1456 1271 1263 1311 1370 1400 1478 1511 1504 1503 1352 1462 1477 1651 1653 1598 1766 1594 1589 1675 1811 1707 1820 1742 1825 1920 1916 1945 1958 1956 2116 2042 2146 2005 2087 2114 2178 2127 2103 2137 2245 2133 2192 2256 2201 2086 2168 2033 1982 2075 2078 2150 1994 2040 2022 1967 2003 1871 1930 1911 1880 1930 1887 1897 1614 1788 1877 1614 1679 1780 1574 1616 1421 1524 1559 1349 1486 1393 1363 1481 1342 1359 1420 1436 1398 1338 1291 1202 1389 1387 1356 1276 1164 1245 1416 1336 1342 1236 1355 1300 1318 1251 1214 1356 1559 1372 1406 1370 1440 1562 1641 1512 1638 1486 1949 1683 1669 1766 1667 1882 1660 1793 1937 1793 1970 2026 1857 1691 1883 1997 1987 2005 2047 2225 2124 1995 2127 2017 1954 2067 2121 2243 2196 1946 2372 2075 2000 2189 2078 2017 2187 2220 2227 2026 2182 2001 2087 1896 1797 1830 2002 1987 1880 1937 1845 1649 1742 1696 1703 1664 1578 1625 1742 1582 1520 1430 1516 1425 1521 1431 1372 ];
ax1=ax_200-mean(ax_200);
bx1=bx_200-mean(bx_200);
F=200;
figure(19)
subplot(211),plot(n,ax1)
subplot(212),plot(n,bx1)
fft_a=fft(ax1);
fft_b=fft(bx1);
fs1=F*100;
f=(0:N/2)*fs1/N;
A=fft_a(1:N/2+1)/N*2;
B=fft_b(1:N/2+1)/N*2;
[max_a1,index_a1]=max(abs(A));
[max_b1,index_b1]=max(abs(B));
A_max=A(index_a1);
B_max=B(index_b1);

上面程序中求得的A_max和B_max得到的应该是两个信号ax_200和bx_200的频谱模值最大的那一个。
那么这两个复数表示的是什么意思呢?
是不是包含了这个信号的幅度和相位信息?
回复
分享到:

使用道具 举报

 楼主| 发表于 2009-3-2 22:09 | 显示全部楼层

回复 楼主 grassing 的帖子

n=1:1:1N;
x=x-mean(x);
temp1=fft(x);
fft_x=temp1(1:N/2+1)*2/N;
fs1=(0:N/2)*fs/N;
[max1,no1]=max(abs(temp1));
agle=angle(3)*180/pi;%3表示频率对应谱线是第三条
modl=abs(temp1(no1));

这里假设f是信号频率,已知
关键是,我通过这个式子modl=abs(temp1(no1)),能否说modl就是这个信号的幅度?
如果能的话,那我是否根据agle和modl就可以确定这个信号具体的公式为
x=modl×sin(2×pi×f×n/N+agle)?
发表于 2009-3-4 18:04 | 显示全部楼层
从你上程序来看,max1就是信号的幅值了,而初始相角应为
agle=angle(temp1(3))*180/pi;%3表示频率对应谱线是第三条
这个信号具体的公式为
x=max1×sin(2×pi×f×(n-1)/fs+agle)
 楼主| 发表于 2009-3-4 22:12 | 显示全部楼层

回复 板凳 songzy41 的帖子

t=1:1:200;
N=200;%信号点个数
pi=3.1415926;
f=200e3;%信号频率
fs=20e6;%采样频率
jiao1=0.0292*180/pi;
jiao2=2*0.0292*180/pi;
ax=0.6338*sin(2*pi*f/N*t+jiao1);
bx=0.6338*0.6338*sin(2*pi*f/N*t+jiao2);

ax=ax-mean(ax);
temp=fft(ax);
fft_ax=temp(1:N/2+1)*2/N;
[max_a,no_a]=max(abs(fft_ax(1:N/2+1)));

bx=bx-mean(bx);
temp1=fft(bx);
fft_bx=temp1(1:N/2+1)*2/N;
[max_b,no_b]=max(abs(fft_bx(1:N/2+1)));

f1=(0:N/2)*fs/N;
figure(1)
stem(f1,abs(temp(1:N/2+1)),'bo'),xlim([1,2e6])
figure(2)
stem(f1,abs(temp1(1:N/2+1)),'ro'),xlim([1,2e6])

上面程序画出来的谱线却不是在200KHz处?
(晕,不会传图片)
发表于 2009-3-5 06:37 | 显示全部楼层
楼主在信号设置上有错误,应改为:
ax=0.6338*sin(2*pi*f/fs*t+jiao1);
bx=0.6338*0.6338*sin(2*pi*f/fs*t+jiao2);
 楼主| 发表于 2009-3-9 09:01 | 显示全部楼层

回复 5楼 songzy41 的帖子

喔 嘿嘿 谢谢
这样就对了
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-17 00:34 , Processed in 0.086772 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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