数字信号处理傅里叶变换性质 ( 傅里叶变换频移性质示例 | PCM 音频信号处理 | 使用 matlab 进行频移操作 )

Posted 韩曙亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数字信号处理傅里叶变换性质 ( 傅里叶变换频移性质示例 | PCM 音频信号处理 | 使用 matlab 进行频移操作 )相关的知识,希望对你有一定的参考价值。

文章目录





一、PCM 音频信号处理



给定一段 PCM 音频数据 , 封装到 .WAV 文件 中 ,

此时的信号 是 实信号 , 每个 PCM 音频采样都是一个 实数值 ,

绘制该 音频数据 实信号 的 " 幅频特性 " ,


将该 PCM 音频的 频率 移动 6 k H z 6kHz 6kHz ,

频移后的 音频信号 变成了 复信号 ,

绘制该 复信号的 " 幅频特性 " ;



准备一个 wav 格式的音频文件 , 该 music.wav 文件是一个

16 16 16

单声道

44100 H z 44100Hz 44100Hz 采样率

的音频文件 , 其 采样波形 与 频谱 如下 :



代码示例 :

% wave 文件采样
pcmFileName='music.wav';

% 读取  music.wav 文件
% s1 是读取的信号向量
% sampleRate 是采样率 44100Hz 表示每秒有 44100 个音频样本
[signal,sampleRate] = audioread(pcmFileName);

% 上面的 sampleRate 计算出来是 44100 单位是 Hz
% 这里需要将 sampleRate 的单位变为 kHz , 除以 1000 
sampleRate = sampleRate/1000;

% 矩阵转置 
%1x132300 矩阵转为 132300x1 矩阵
signalT=signal';

% 取 信号 的前 2048 个点进行分析
x=signalT(1:2048);

% 求 signalT 实信号的 频谱
xf=20 * log10(abs(fft(x,4096)));
xf1(1:2048)=xf(2049:4096);
xf1(2049:4096)=xf(1:2048);

% 绘制实信号的频谱图
figure;
plot((-2048:2047) * sampleRate/4096,xf1);
grid on;

% 根据 傅里叶变换 频移性质, 进行频谱搬移
% 频率搬移 6kHz
y=x.*exp(2*j*pi*6/32*(0:2047));

% 求 signalT 频移后的 复信号的 频谱
yf=20*log10(abs(fft(y,4096)));
yf1(1:2048)=yf(2049:4096);
yf1(2049:4096)=yf(1:2048);

% 绘制频率搬移 6kHz 后的复信号的频谱图
figure;
plot((-2048:2047)*fs/4096,yf1);
grid on;





二、要点说明



根据 图1 所示 , 实信号的 " 幅频特性 " 是 偶对称的 ;

图2 复信号 的 " 幅频特性 " , 向右平移了 6 kHz , 此时就不是 偶对称 了 ;

傅里叶变换时移 只影响 " 相频特性 " , 不影响 " 幅频特性 " ;

傅里叶变换频移 同时影响 " 相频特性 " 和 " 幅频特性 " ;

以上是关于数字信号处理傅里叶变换性质 ( 傅里叶变换频移性质示例 | PCM 音频信号处理 | 使用 matlab 进行频移操作 )的主要内容,如果未能解决你的问题,请参考以下文章

数字信号处理傅里叶变换性质 ( 傅里叶变换频移性质 | 证明过程 )

数字信号处理傅里叶变换性质 ( 傅里叶变换频移性质 | 证明过程 )

数字信号处理傅里叶变换性质 ( 傅里叶变换频移性质示例 | PCM 音频信号处理 | 使用 matlab 进行频移操作 )

数字信号处理傅里叶变换性质 ( 傅里叶变换频移性质示例 | PCM 音频信号处理 | 使用 matlab 进行频移操作 )

数字信号处理傅里叶变换性质 ( 傅里叶变换线性性质 | 傅里叶变换时移性质 )

数字信号处理傅里叶变换性质 ( 傅里叶变换线性性质 | 傅里叶变换时移性质 )