请问用Matlab进行FFT变换后画的波形为什么总是称的?

问题描述:

请问用Matlab进行FFT变换后画的波形为什么总是称的?
比如:
%%
fs=100;%设定采样频率
N=128;%采样点数
n=0:N-1;
t=n/fs;
f0=10;%设定正弦信号频率
%生成正弦信号
x=sin(2*pi*f0*t);
figure(1);
subplot(2,3,1);
plot(t,x);%作正弦信号的时域波形
xlabel('t');
ylabel('y');
title('正弦信号y=2*pi*10t时域波形');
grid;
%进行FFT变换并做频谱图
y=fft(x,N);%进行fft变换
mag=abs(y);%求幅值
f=(0:length(y)-1)'*fs/length(y);%进行对应的频率转换
figure(1);
subplot(2,3,2);
plot(f,mag);%做频谱图
axis([0,100,0,80]);
xlabel('频率(Hz)');
ylabel('幅值');
title('正弦信号y=2*pi*10t幅频谱图N=128');
grid;
用Matlab画出的幅频谱图为什么总是对称的?好像只要用FFT( , )后画的Plot图就对称.请问为什么?
1个回答 分类:综合 2014-10-03

问题解答:

我来补答
这个很简单,FFT 是Z 变换和离散序列傅立叶变换上的单位圆上等间隔取点,而傅立叶和Z变换均包含周期为2pi的特性.那么你在单位圆上取点,根据三角函数的特性他们相位相差一百八十度只需要在前面加一个负号(sinx)或者直接不用加(cosx),而我们得到的FFT是幅频特性曲线,高低只代表幅度大小,重点来了:我们在单位原上取的点是一个复数(s域或者z域),复数的大小是实部的平方加虚部的平方再开根号,根据刚刚我们推得的三角函数特性,如果相位差180度,也就是一个pi,他们之间的幅度应该是完全一样的!
现在你再看Matlab画的图,是不是对称点是(pi,0)啊?我讲得够明白透彻了吧,希望能帮上忙.
 
 
展开全文阅读
剩余:2000
上一页:解不等式