MATLAB使用fft求取给定音频信号的频率
2017-08-28 18:57
309 查看
一段10s立体声音频,采样率位8000Hz,已知频率为1000Hz
频谱图为
1 clc; 2 clear; 3 [data, Fs] = audioread('1khz_stereo_8000.wav'); 4 fs=Fs; 5 N=4000; 6 n=2*fs:2*fs+N-1; %从第2s结束开始取样 7 f=(n-2*fs)*fs/N; %数字频率转换成模拟频率 本来应该是n/N * fs,但由于n是从第三个周期开始的 8 temp=data(:,1); %取单个声道样本 9 x=temp(n); 10 y=fft(x,N); 11 mag=abs(y); %求得Fourier变换后的振幅 12 plot(f,mag); 13 [max,pos] = max(mag);%找到幅值最高点,记录所在横坐标 14 freq = f(pos); %幅值最高对应基频分量 15 disp(freq); 16 grid on;
频谱图为
相关文章推荐
- 如何使用FFT和MATLAB的pwelch函数对信号和噪声进行模拟和测量
- Android平台音频信号FFT的实现
- 音频信号MATLAB处理的一些常用函数
- matlab可以使用detrend函数去除时间序列x中的均值或线性趋势,这在FFT处理中尤其常用。
- 关于DCT与FFT区别(为什么图像处理和音频处理都使用DCT而不用FFT)
- 使用Octave音频处理(二):基本数学信号处理
- 数字信号处理实践——基于matlab的音频信号分析即处理
- MATLAB中FFT的使用方法
- MATLAB中通过fft计算信号频谱的问题
- Android平台音频信号FFT的实现
- MATLAB中FFT的使用方法(频谱分析)
- MATLAB 的音频信号处理技术
- Matlab中使用FFT验证卷积定理
- 使用Octave音频处理(二):基本数学信号处理
- 音频测试信号频率说明表
- 基于Matlab的歌曲音频信号采样及其处理(上)
- matlab信号分析:理解采样中的频率混叠
- 深入浅出解释FFT(四)——fft分析信号频率和相位
- MATLAB中FFT的使用方法
- MATLAB中FFT使用方法