3. 绘制振幅频谱图

3. 绘制振幅频谱图
[plain] view plaincopy
%Y = fft(X) 使用快速傅里叶变换算法返回向量X的离散型傅里叶变换  
%Y = fft(X,n) 返回n点的离散傅里叶变换,如果向量X的长度小于n,函数要将向量X补零到长度n;如果向量X的长度大于n, 则函数阶段X使之长度为n。若X是矩阵,按相同方法对X进行处理。  
  
Y = fft(ft,sigLength);   
halfLength = floor(sigLength/2);  
Pyy =Y(1:halfLength + 1); % 只选取前半截部分  


波形的傅里叶变换返回震级和相位信息,并且用复数的形式表达,通过计算绝对值来获取其频率的振幅
[plain] view plaincopy
Pyy = abs(Pyy);%用于计算复向量的Y的振幅  
f = ((0:halfLength)+1)* Fs/sigLength;   
subplot(2,1,2);  
plot(f,Pyy), title('Frequency spectrum'),grid;  
xlabel('Frequency(Hz)');  
ylabel('Amplitude');  


>> Y = fft(left,leftSigLength);
>> halfLength = floor(leftSigLength/2);
>> Pyy =Y(1:halfLength + 1);
>> Pyy = abs(Pyy);%用于计算复向量的Y的振幅  
>> f = ((0:halfLength)+1)* Fs/leftSigLength;
>> plot(f,Pyy), title('Frequency spectrum'),grid; 
>> xlabel('Frequency(Hz)');  
ylabel('Amplitude');  
>> Yabs=abs(Y);
>> figure;plot(Yabs)
>> f(1)


ans =


   0.413060582218725


>> Fs


Fs =


       44100


>> Fs/leftSigLength


ans =


   0.413060582218725


>> f(end)


ans =


    2.205041306058222e+004


>> f(end)-Fs/leftSigLength


ans =


       22050


>> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值