文章目录

  • 一、PCM 音频信号处理
  • 二、要点说明

一、PCM 音频信号处理


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

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

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

将该 PCM 音频的 频率 移动 6kHz6kHz6kHz ,

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

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

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

161616 位

单声道

44100Hz44100Hz44100Hz 采样率

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

代码示例 :

% 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 进行频移操作 )相关推荐

  1. 【数字信号处理】序列傅里叶变换 ( 序列傅里叶变换与反变换 | 序列绝对可和 与 存在傅里叶变换之间的关系 | 序列傅里叶变换性质 )

    文章目录 一.序列傅里叶变换与反变换 二.序列绝对可和 与 存在傅里叶变换之间的关系 三.序列傅里叶变换性质 一.序列傅里叶变换与反变换 在上一篇博客 [数字信号处理]序列傅里叶变换 ( 序列傅里叶变 ...

  2. 【数字信号处理】序列傅里叶变换 ( 基本序列的傅里叶变换 | 求 sinωn 的傅里叶变换 | 复变函数欧拉公式 )

    文章目录 一.求 sinωn 傅里叶变换 0.sinωn 序列分析 1.傅里叶变换与反变换公式介绍 2.复变函数欧拉公式介绍 3.求 sinωn 的傅里叶变换推导过程 一.求 sinωn 傅里叶变换 ...

  3. 【数字信号处理】序列傅里叶变换 ( 基本序列的傅里叶变换 | 求 cosωn 的傅里叶变换 | 复变函数欧拉公式 )

    文章目录 一.求 cosωn 傅里叶变换 0.cosωn 序列分析 1.傅里叶变换与反变换公式介绍 2.复变函数欧拉公式介绍 3.求 cosωn 的傅里叶变换推导过程 一.求 cosωn 傅里叶变换 ...

  4. 【数字信号处理】序列傅里叶变换 ( 基本序列的傅里叶变换 | e^jωn 的傅里叶变换 )

    文章目录 一.求 ejω0ne^{j \omega_0 n}ejω0​n 傅里叶变换 1.傅里叶变换与反变换公式介绍 2.带入 傅里叶变换 公式 一.求 ejω0ne^{j \omega_0 n}ej ...

  5. 【数字信号处理】序列傅里叶变换 ( 序列傅里叶变换定义详细分析 | 证明单位复指数序列正交完备性 | 序列存在傅里叶变换的性质 | 序列绝对可和 → 序列傅里叶变换一定存在 )

    文章目录 一.序列傅里叶变换定义详细分析 二.证明单位复指数序列正交完备性 三.序列存在傅里叶变换的性质 一.序列傅里叶变换定义详细分析 序列傅里叶变换 SFT , 英文全称 " Seque ...

  6. 数字信号处理之快速傅里叶变换 2021-10-24

    数字信号处理 第三章 快速傅里叶变换 数字信号处理 前言 一.概述 二.时间抽取基2的FFT算法和频域抽取基2的FFT算法 三.分裂基FFT算法 四.线性调频Z变换(CZT) 五.离散时间系统的相位. ...

  7. 数字信号处理基础----快速傅里叶变换

    1 旋转矢量   在前面曾多次提到了旋转矢量,也就是在单位圆上旋转的一个复指数信号.旋转的方向为逆时针,旋转的角速度Ω=2π/N,N为旋转矢量的周期.   现在若使旋转的方向相反,则可以得到顺时针旋转 ...

  8. 数字信号处理2:傅里叶变换

    文章目录 一.傅里叶变换存在的理论基础 二.周期信号的傅里叶级数推导 三.连续非周期信号的傅里叶变换推导 四.离散非周期信号的傅里叶变换(DFT)推导 五.相位 六.通俗理解傅里叶变换 七.DFT的代 ...

  9. 【数字信号处理】序列傅里叶变换 ( 狄义赫利条件 | 序列傅里叶变换定义 )

    文章目录 一.狄义赫利条件 二.序列傅里叶变换定义 一.狄义赫利条件 " 连续非周期 " 的信号 的 傅里叶变换 FT , 也是 " 连续非周期 " 的 ; & ...

  10. 数字信号处理(五)快速傅里叶变换

    文章目录 FFT的由来 降低运算量的途径 基2FFT算法 时域抽取基2FFT算法 第一次分解 第二次分解 蝶形运算 DIT-FFT与直接计算DFT运算量比较 频域抽取基2FFT算法 IDFT的快速算法 ...

最新文章

  1. 后视镜什么时候看?老司机也不一定知道
  2. hibernate查询-基本查询
  3. Linux的三种特殊权限
  4. MySQL调优(七):滴滴一面二面题,服务器参数设置,redolog两阶段提交
  5. SAP官方帮助网站,help.sap.com 背后那些事儿
  6. 【数字逻辑设计】多级组合逻辑电路减少硬件
  7. 【kafka】Group coordinator xx is unavailable or invalid, will attempt rediscovery
  8. go 依赖注入 哪个好_go与java的依赖注入实现的一些差异
  9. python open函数encoding_关于python内open函数encoding编码问题
  10. PostgreSQL在何处处理 sql查询之十四
  11. 人工智能专业就业有哪些岗位方向
  12. 用JS实现图片模糊到清晰预加载效果
  13. 常见概率抽样方法及其适用场景总结
  14. 2011微软MVP全球峰会美国行之飞抵西雅图
  15. 目录-Amira用户指南
  16. Linux系统查看不到IP地址的解决方法(虚拟机)
  17. linux查看当前运行的进程
  18. Python - 计算复杂算式和分式
  19. 计算机网络--数据链路层[微课堂]
  20. cisco asa(asa5510 设置)防火墙的配置详解

热门文章

  1. 依赖注入(DI)和Ninject,Ninject
  2. socket简单通信
  3. Searchable(搜索功能)(转)
  4. Routeros双adsl线路基于ip分段策略路由
  5. shell入门基础必备
  6. springboot 定时任务schedule
  7. hibernate学习(4)
  8. HttpClien GetPost
  9. 0050算法笔记——【线性规划】单纯形算法(未完全实现)
  10. chm文件无法正常显示