MATLAB仿真多相滤波抽取与插值的频谱变化(可视化混叠和镜像)

news2025/5/10 8:56:05

MATLAB画图仿真多相滤波抽取与插值的频谱变化

可视化多速率信号处理抽取与插值的频谱变化

实信号/复信号

可视化混叠和镜像

目录

前言

一、抽取的基本原理

二、MATLAB仿真抽取运算

三、内插的基本原理

四、MATLAB仿真内插运算

总结


前言

        在多速率系统中增加信号采样率的运算叫做内插(Interpolation)或上采样(Up-sampling),降低采样率的运算叫做抽取(Decimation)或下采样(Down-sampling)。抽取和内插均会对信号本身和其频谱产生一定影响,需要通过加低通滤波器去除这种影响。本人在MATLAB软件上仿真了抽取和插值对频谱造成的影响,并在此记录一下,记录一是为了传播知识,二是方便自己回顾。


提示:以下是本篇文章正文内容,引用请附上链接!

一、抽取的基本原理

        所谓整数因子抽取,就是把原序列x(n)每隔 (D-1) 个点抽取一个点,组成一个新序列,即:

从频域看,抽取序列的频谱是原序列频谱D倍展宽后,按2π的整数倍位移并叠加而成。公式如下:

        为保证抽取后不丢失信息,应该保证抽取后信号的频谱不发生混叠,所以在抽取前对信号的频谱应该加以限制。所以在抽取前要先用一个数字低通滤波器(滤波器的带宽为π/D)进行滤波,使得满足:

        下面是2个示例:

图1   未低通滤波 2抽取造成频谱混叠
图2   加低通滤波 3抽取未造成频谱混叠

        为了提高运算速度,抽取滤波有多相结构,详见文章 多相滤波器MATLAB仿真---抽取&插值-CSDN博客 。

二、MATLAB仿真抽取运算

        抽取就以以下实信号为例说明:

fc=0;                  % 载波为0

Pn=1;                % 噪声功率

D=4;                  % 抽取因子

fs=120e6;          % 采样频率

K=100000;         % 采样点数

signal_SNR=20; % 信噪比

signal_f=6e6;      % 信号频率

原信号频谱如下图所示:

图3 抽取前120MHz采样速率信号频谱

不加低通滤波抽取后信号频谱如下:可见,噪底明显提高了,这就是因为频谱混叠了,与图1示意图类似。因为是4倍抽取,噪声频谱相当于叠加了4次,所以提高约10*log10(4)=6dB。虽然信号的频谱也会混叠,但由于其在可视化频率之外,显示不出来。

图4 不加低通滤波抽取后30MHz采样速率信号频谱

加低通滤波抽取后信号频谱如下,可见噪底明显降低了,不过带内的噪声抑制的没有带外多。所以在数字信号处理中,进行抽取运算的时候,不可避免地要加低通滤波器抗频谱混叠。为保证抽取后不丢失信息,应该保证抽取后信号的频谱不发生混叠,所以在抽取前对信号的频谱应该加以限制。所以是抽取前低通滤波,那采样频率自然就是抽取前的信号速率

图5 抽取低通滤波器
图6 加低通滤波抽取后30MHz采样速率信号频谱

下面是计算得到的信号功率,加滤波后功率减小,一方面是抑制了噪声,另一方面是通带内有纹波抖动导致信号掉了不到1dB。未加低通滤波噪底抬高但功率不变是因为频谱可视化范围随抽取因子变窄,类似于功率谱变大带宽变小乘起来功率不变。

三、内插的基本原理

        I倍插值是在x(n)的每两个点之间补 I-1 个0,再进行平滑滤波。完成插零功能的叫做内插器或上采样器。内插器的输出

从频域上看内插后信号频谱被压缩了 I 倍,公式如下:

为了能得到基带信号,需要通过低通滤波消除内插带来的镜像。低通滤波器的幅度响应为:

下面是示例:

图7 2倍内插频谱变化示例

为了提高运算速度,插值滤波也有多相结构, 详见文章 多相滤波器MATLAB仿真---抽取&插值-CSDN博客 。

四、MATLAB仿真内插运算

内插就以以下复信号为例说明:

fc=0;                  % 载波为0

Pn=1;                % 噪声功率

I=4;                    % 插值因子

fs=30e6;            % 采样频率

K=25000;          % 采样点数

signal_SNR=20; % 信噪比

signal_f=10e6;    % LFM信号带宽

原信号频谱如下图所示:

图8 内插前30MHz采样速率信号频谱

不加低通滤波内插后信号频谱如下:可见,整个频谱幅度明显降低了,这是因为插了0的,导致功率下降。因为是4倍内插,插0点数增加了4倍,所以幅度谱降低约10*log10(4)=6dB。另外,显然产生了4个镜像频率成分,这时产生的镜像频率就在可视化频率之内来了。

图9 不加低通滤波内插后120MHz采样速率信号频谱

加低通滤波内插后信号频谱如下,可见镜像频率明显被抑制了。所以在数字信号处理中,进行内插运算的时候,不可避免地要加低通滤波器抑制镜像频率。因为是内插后低通滤波,那采样频率自然就是内插后的信号速率

图10 内插低通滤波器
图11 加低通滤波内插后120MHz采样速率信号频谱

下面是计算得到的信号功率,需要注意的是由于插了几倍的0值,要想前后功率不变,记得在多相滤波时加一个乘积因子I。这里算出来一样是因为根据内插因子I对幅度进行了补偿。


总结

        抽取和内插均会对信号本身和其频谱产生一定影响,需要通过加低通滤波器去除这种影响。本人在MATLAB软件上仿真了抽取和插值对频谱造成的影响,可视化展现了出来。得出结论:在插值和内插处理操作时一定要加上一个低通滤波器。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2335447.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

MySQL-存储引擎索引

存储引擎 MySQL体系结构 1). 连接层 最上层是一些客户端和链接服务,包含本地sock 通信和大多数基于客户端/服务端工具实现的类似于 TCP/IP的通信。主要完成一些类似于连接处理、授权认证、及相关的安全方案。在该层上引入了线程 池的概念,为通过认证安…

图像处理有哪些核心技术?技术发展现状如何?

在数字化信息爆炸的时代,文档图像预处理技术正悄然改变着我们处理文字信息的方式。无论是手持拍摄的收据、扫描仪中的身份证,还是工业机器人采集的复杂文档,预处理技术都在背后默默提升着OCR(光学字符识别)系统的性能。…

【小沐学GIS】基于C++绘制三维数字地球Earth(QT5、OpenGL、GIS、卫星)第五期

🍺三维数字地球系列相关文章如下🍺:1【小沐学GIS】基于C绘制三维数字地球Earth(OpenGL、glfw、glut)第一期2【小沐学GIS】基于C绘制三维数字地球Earth(OpenGL、glfw、glut)第二期3【小沐学GIS】…

spring cloud OpenFeign 详解:安装配置、客户端负载均衡、声明式调用原理及代码示例

OpenFeign 详解&#xff1a;安装配置、客户端负载均衡、声明式调用原理及代码示例 1. OpenFeign 安装与配置 (1) 依赖管理 <!-- pom.xml 添加以下依赖 --> <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud…

用 Deepseek 写的uniapp血型遗传查询工具

引言 在现代社会中&#xff0c;了解血型遗传规律对于优生优育、医疗健康等方面都有重要意义。本文将介绍如何使用Uniapp开发一个跨平台的血型遗传查询工具&#xff0c;帮助用户预测孩子可能的血型。 一、血型遗传基础知识 人类的ABO血型系统由三个等位基因决定&#xff1a;I…

【眼底辅助诊断开放平台】项目笔记

这是一个标题 任务一前端页面开发&#xff1a;后端接口配置&#xff1a; 任务二自行部署接入服务 日志修改样式和解析MD文档接入服务 Note前端登陆不进去/更改后端api接口304 Not Modifiedlogin.cache.jsonERR_CONNECTION_TIMED_OUT跨域一般提交格式proxy.ts src/coponents 目录…

Java笔记5——面向对象(下)

目录 一、抽象类和接口 1-1、抽象类&#xff08;包含抽象方法的类&#xff09; 1-2、接口 ​编辑​编辑 二、多态 ​编辑 1. 自动类型转换&#xff08;向上转型&#xff09; 示例&#xff1a; 注意&#xff1a; 2. 强制类型转换&#xff08;向下转型&#xff09; 示…

NI的LABVIEW工具安装及卸载步骤说明

一.介绍 最近接到个转交的项目&#xff0c;项目主要作为上位机工具开发&#xff0c;在对接下位机时&#xff0c;有用到NI的labview工具。labview软件是由美国国家仪器&#xff08;NI&#xff09;公司研制开发的一种程序开发环境&#xff0c;主要用于汽车测试、数据采集、芯片测…

[reinforcement learning] 是什么 | 应用场景 | Andrew Barto and Richard Sutton

目录 什么是强化学习&#xff1f; 强化学习的应用场景 广告和推荐 对话系统 强化学习的主流算法 纽约时报&#xff1a;Turing Award Goes to 2 Pioneers of Artificial Intelligence wiki 资料混合&#xff1a;youtube, wiki, github 今天下午上课刷到了不少&#xff0…

[从零开始学数据库] 基本SQL

注意我们的主机就是我们的Mysql数据库服务器 这里我们可以用多个库 SQL分类(核心是字段的CRUD)![](https://i-blog.csdnimg.cn/img_convert/0432d8db050082a49258ba8a606056c7.png) ![](https://i-blog.csdnimg.cn/img_convert/bdf5421c2b83e22beca12da8ca89b654.png) 重点是我…

git 提交标签

Git 提交标签 提交消息格式&#xff1a; <type>: <description> &#xff08;示例&#xff1a;git commit -m "feat: add user login API"&#xff09; 标签适用场景feat新增功能&#xff08;Feature&#xff09;。fix修复 Bug&#xff08;Bug fix&…

关于 Spring Batch 的详细解析及其同类框架的对比分析,以及如何自己设计一个java批处理框架(类似spring batch)的步骤

以下是关于 Spring Batch 的详细解析及其同类框架的对比分析&#xff1a; 一、Spring Batch 核心详解 1. 核心概念 作业&#xff08;Job&#xff09;&#xff1a;批处理任务的顶层容器&#xff0c;由多个步骤&#xff08;Step&#xff09;组成。 步骤&#xff08;Step&#…

【第十三届“泰迪杯”数据挖掘挑战赛】【2025泰迪杯】【论文篇+改进】A题解题全流程(持续更新)

【第十三届“泰迪杯”数据挖掘挑战赛】【2025泰迪杯】【论文篇改进】A题解题全流程&#xff08;持续更新&#xff09; 写在前面&#xff1a; 我是一个人&#xff0c;没有团队&#xff0c;所以出的比较慢&#xff0c;每年只做一次赛题&#xff0c;泰迪杯&#xff0c;我会认真对…

数据结构——哈希详解

数据结构——哈希详解 目录 一、哈希的定义 二、六种哈希函数的构造方法 2.1 除留取余法 2.2 平方取中法 2.3 随机数法 2.4 折叠法 2.5 数字分析法 2.6 直接定值法 三、四种解决哈希冲突的方法 3.1 开放地址法 3.1.1 线性探测法 3.1.2 二次探测法 3.2 链地址法 3…

Spark-SQL核心编程

简介 Hadoop与Spark-SQL的对比 Hadoop在处理结构化数据方面存在局限性&#xff0c;无法有效处理某些类型的数据。 Spark应运而生&#xff0c;特别设计了处理结构化数据的模块&#xff0c;称为Spark SQL&#xff08;原称Shark&#xff09;。 SparkSQL的发展历程&#xff1a; Sp…

Docker 与 Podman常用知识汇总

一、常用命令的对比汇总 1、基础说明 Docker&#xff1a;传统的容器引擎&#xff0c;使用 dockerd 守护进程。 Podman&#xff1a;无守护进程、无root容器引擎&#xff0c;兼容 Docker CLI。 Podman 命令几乎完全兼容 Docker 命令&#xff0c;只需将 docker 替换为 podman。…

Large Language Model(LLM)的训练和微调

之前一个偏工程向的论文中了&#xff0c;但是当时对工程理论其实不算很了解&#xff0c;就来了解一下 工程流程 横轴叫智能追寻 竖轴上下文优化 Prompt不行的情况下加shot(提示)&#xff0c;如果每次都要加提示&#xff0c;就可以试试知识库增强检索来给提示。 如果希望增强…

统计销量前十的订单

传入参数&#xff1a; 传入begin和end两个时间 返回参数 返回nameList和numberList两个String类型的列表 controller层 GetMapping("/top10")public Result<SalesTop10ReportVO> top10(DateTimeFormat(pattern "yyyy-MM-dd") LocalDate begin,Dat…

AI大模型原理可视化工具:深入浅出理解大语言模型的工作原理

AI大模型原理可视化工具&#xff1a;深入浅出理解大语言模型的工作原理 在人工智能快速发展的今天&#xff0c;大语言模型&#xff08;如GPT、BERT等&#xff09;已经成为改变世界的重要技术。但对于很多人来说&#xff0c;理解这些模型的工作原理仍然是一个挑战。为了帮助更多…

qt designer 创建窗体选择哪种屏幕大小

1. 新建窗体时选择QVGA还是VGA 下面这个图展示了区别 这里我还是选择默认&#xff0c;因为没有特殊需求&#xff0c;只是在PC端使用