当前位置: 首页 > news >正文

整数倍抽取与整数倍内插分析与matlab仿真

目录

1.整数倍抽取

1.1 抗混叠低通滤波

1.2 D倍下采样

1.3 频谱归一化

2.整数倍内插

2.1 I倍零点插入

2.2 插值低通滤波

2.3 频谱压缩

3.MATLAB仿真与分析


1.整数倍抽取

整数倍抽取是对原始离散序列x(n),仅保留第0、D、2D、3D...个采样点,得到序列y(m),实现数据降采样、采样率降低D倍。直接抽取会引发频谱混叠,必须先低通滤波再抽取,该过程也叫抽取器。

设原始序列采样率为fs,D为正整数抽取倍数,最终输出采样率fs′=fs/D,完整实现步骤如下:

1.1 抗混叠低通滤波

对原始序列x(n)进行低通滤波,滤除fs/(2D)以上的高频分量,避免后续抽取产生混叠。

滤波时域公式:

滤波频域约束:

1.2 D倍下采样

对滤波后的序列xL(n),每隔D−1个点舍弃,仅保留n=Dm的采样点。其时域公式如下:

1.3 频谱归一化

抽取序列的频谱是原滤波序列频谱的周期延拓+幅度缩放,延拓周期为π/D,幅度放大D倍。其频域公式如下:

2.整数倍内插

I倍内插,对原始离散序列x(n),在任意两个相邻采样点之间插入I−1个0值,得到扩展序列,再通过低通滤波插值,实现数据升采样、采样率提升I倍。通过内插,可以补全0值点的真实信号幅值,还原平滑序列,该过程也叫内插器。

设原始序列采样率为fs​,I为正整数内插倍数,最终输出采样率fs′​=I⋅fs​,完整实现步骤如下:

2.1 I倍零点插入

在x(n)相邻采样点间插入I−1个0,得到中间扩展序列xZ(m),序列长度变为原序列的I倍。其时域公式如下:

2.2 插值低通滤波

在x(n)相邻采样点间插入I−1个0,得到中间扩展序列xZ(m),序列长度变为原序列的I倍。其滤波时域公式如下:

滤波频域约束:

2.3 频谱压缩

内插序列的频谱是原序列频谱的线性压缩,无频谱混叠/失真,仅采样率提升I倍。其频域公式如下:

3.MATLAB仿真与分析

这里设置原始信号x(n)=0.8*cos(0.1*π*n)+0.3*cos(0.3*π*n),采样率fs=1000Hz,抽取倍数D=3,内插倍数 I=3 ;滤波器采用FIR低通滤波器,满足截止频率要求。

clc close all clear %% ===================== 1. 生成原始信号 ===================== fs = 1000; % 原始采样率 N = 1000; % 采样点数 n = 0:N-1; % 原始序列索引 x = 0.8*cos(0.1*pi*n) + 0.3*cos(0.3*pi*n); % 原始双频信号 %% ===================== 2. 3倍整数抽取实现 ===================== D = 3; % 抽取倍数 % 步骤1:设计抗混叠低通滤波器 (截止频率pi/D) h_dec = fir1(50, 1/D); % FIR低通滤波器,阶数50,归一化截止频率1/D x_L = filtfilt(h_dec, 1, x); % 零相位滤波,避免相位失真 % 步骤2:D倍下采样 y_dec = x_L(1:D:end); m_dec = 0:length(y_dec)-1; % 抽取序列索引 %% ===================== 3. 4倍整数内插实现 ===================== I = 3; % 内插倍数 % 步骤1:I倍零点插入 x_Z = zeros(1, I*N); x_Z(1:I:end) = x; % 相邻点间插3个0 % 步骤2:设计插值低通滤波器 (截止频率pi/I,幅值增益I) h_int = fir1(50, 1/I)*I; y_int = filtfilt(h_int, 1, x_Z); % 零相位滤波 m_int = 0:length(y_int)-1; % 内插序列索引 %% ===================== 4. 时域图绘制 ===================== figure('Name','时域波形对比','Position',[100,100,1200,800]); % 子图1:原始信号 subplot(3,1,1); plot(n/fs, x, 'b-','LineWidth',1.2); title('原始信号时域波形','FontSize',12); xlabel('时间 t (s)'); ylabel('幅值'); grid on; axis tight; % 子图2:3倍抽取信号 subplot(3,1,2); plot(m_dec/(fs/D), y_dec, 'r-','LineWidth',1.2); title('3倍抽取信号时域波形','FontSize',12); xlabel('时间 t (s)'); ylabel('幅值'); grid on; axis tight; % 子图3:4倍内插信号 subplot(3,1,3); plot(m_int/(fs*I), y_int, 'g-','LineWidth',1.2); title('3倍内插信号时域波形','FontSize',12); xlabel('时间 t (s)'); ylabel('幅值'); grid on; axis tight; %% ===================== 5. 频谱图绘制 ===================== % 频谱计算函数:归一化频率+幅值归一化 func_fft = @(sig) 20*log10(abs(fftshift(fft(sig)))/length(sig)); % 频率轴生成 f_ori = linspace(-fs/2, fs/2, N); % 原始频率轴 f_dec = linspace(-fs/(2*D), fs/(2*D), length(y_dec)); % 抽取频率轴 f_int = linspace(-fs*I/2, fs*I/2, length(y_int)); % 内插频率轴 figure('Name','频谱对比','Position',[100,100,1200,800]); % 子图1:原始信号频谱 subplot(3,1,1); plot(f_ori, func_fft(x), 'b-','LineWidth',1.2); title('原始信号频谱','FontSize',12); xlabel('频率 f (Hz)'); ylabel('幅值 (dB)'); grid on; xlim([-200,200]); % 聚焦有效频段 % 子图2:3倍抽取信号频谱 subplot(3,1,2); plot(f_dec, func_fft(y_dec), 'r-','LineWidth',1.2); title('3倍抽取信号频谱','FontSize',12); xlabel('频率 f (Hz)'); ylabel('幅值 (dB)'); grid on; xlim([-100,100]); % 子图3:4倍内插信号频谱 subplot(3,1,3); plot(f_int, func_fft(y_int), 'g-','LineWidth',1.2); title('3倍内插信号频谱','FontSize',12); xlabel('频率 f (Hz)'); ylabel('幅值 (dB)'); grid on; xlim([-200,200]);

仿真结果如下:

从上图可以看到:

3倍抽取信号,波形与原信号完全一致,采样点减少为1/3,时间轴拉伸,幅值无失真;采样率降至1000/3≈333Hz,谱峰位置同步降至50/3≈16.7 Hz、150/3=50Hz,无混叠,谱峰幅值一致;

3倍内插信号,波形比原信号更平滑,采样点增加为3倍,时间轴压缩,幅值与原信号完全匹配。采样率升至3000 Hz,谱峰位置仍为50Hz、150Hz,频谱被压缩,谱峰更尖锐,无失真/杂散。

http://www.jsqmd.com/news/194265/

相关文章:

  • 美团Java后端开发实习二面复盘:高并发、分布式系统与大模型应用深度连环问
  • 多机多卡消费级显卡实战
  • springboot养殖畜牧业养牛可视化大屏设计与实现vue
  • vue基于JAVA社区家政服务系统的设计与实现
  • 2026年 滑触线厂家权威推荐榜:C型/U型/M型/二型管/单极/多级/不锈钢/行车起重机专用,技术实力与安全耐用性深度解析 - 品牌企业推荐师(官方)
  • 单播、广播、组播:网络里的“私聊”、“大喇叭”和“群聊”
  • 【Docker】核心概念 常用指令总结 Docker Compose
  • 亲测好用10个AI论文软件,研究生高效写作必备!
  • 应急广播系统:灾备状态下快速生成指导语音
  • vue基于springboot的冷链物流配送系统
  • 12.30 servlet
  • 通达信鼎牛暴利辅助 源码
  • 中专模具生进大厂攻略:3类核心证书,逆袭2026
  • vue航空航天太空科普网站 可视化大屏改_2dhz0
  • 12.29 事件监听
  • 2026年 滑触线厂家权威推荐榜:C型/DHG型/行车瓷瓶/防爆安全式/立体仓库专用滑触线品牌深度解析 - 品牌企业推荐师(官方)
  • 2026本科生必备8个降AI率工具测评
  • 科学选型不踩坑 传动机构极端工况模拟试验机性能售后与性价比参考 - 品牌推荐大师
  • 技术适配为纲,全周期赋能企业:ooder A2UI三代跨代版本的战略启示
  • 长趋直入主图之选股指标公式
  • 【生产级实战】Linux 集群时间同步详解(NTP + Cron,超详细)
  • 通达信筹码低吸 源码贴图
  • 通达信五行金针选股指标公式
  • MAF快速入门(10)循环工作流
  • 个人语音备份服务:为自己留下永恒的声音印记
  • 消费集显卡集群生产部署策略
  • 揭秘高温老化房排名前十的品牌:哪家的机器耐用、品质好、质量好、口碑好、评价好、售后好? - 品牌推荐大师1
  • 影视配音初探:低成本完成外语影片本地化尝试
  • 研究生必备:8款AI写论文神器,20分钟搞定文献综述!
  • 人物讲解视频带货书单爆了,拆解从文案到成片的保姆级教程