type
Post
status
Published
date
Sep 23, 2024
slug
ducsimulate
summary
tags
Matlab
category
数字通信
icon
password
上次编辑时间
Nov 13, 2024 12:40 PM
AI summary
该文档介绍了数字上变频器的仿真设计,主要使用Matlab进行实现。仿真目标是将48kHz采样率的音频信号插值到6.144MHz,并进行AM调制。文中详细描述了四个滤波器的设计过程,包括低通FIR插值滤波器、半带插值滤波器、CIC补偿滤波器和CIC插值滤波器,以及它们的参数设置和幅频响应图。最后提到使用Simulink进行采样率变化的控制。
💡
我的毕设题目为多频点数字上变频器,因此先做了DUC的仿真,目标是将48k采样率的音频信号进28插值到6.144M的采样率,并将其做AM调制后发射出去。
notion image
notion image

Matlab仿真

基本参数生成

系统的整体速率为48k×128=6.144M,通过使能信号进行采样率的变换。信号输出为流式输出,帧大小为1 。

第一级 低通FIR插值滤波器

输入信号采样率为基带速率,输出信号采样率为基带速率×插值因子,通过fdesign.interpolator设计滤波器系数,滤波器的幅频响应如下:
notion image

第二级 低通半带插值滤波器

半带滤波器的通带为输入信号采样率减去两倍的截止频率,确保插值后产生的频谱延拓的频带都能被滤除,不会引入混叠,同时保证了足够的衰减。
半带滤波器的幅频响应及两级滤波器级联的响应如下:
notion image

第三级 CIC补偿滤波器

由于CIC插值滤波器通带内不平坦,因此要加入补偿滤波器。
补偿滤波器的通带和阻带频率的设置原因如下:
  • compParams.Fpass = 1/2 * compParams.FsIn + Fpass: 这里的通带频率 Fpass 的设置是基于输入采样率 compParams.FsIn。CIC滤波器通常对频率响应的衰减从 FsIn/2 开始变得明显,所以补偿滤波器的通带设置为 FsIn/2 + Fpass,这样可以确保补偿滤波器修正CIC滤波器在通带内的增益,特别是在高频部分。
  • compParams.Fstop = 1/2 * compParams.FsIn + 1/4 * compParams.FsIn: 阻带频率的设置为 FsIn/2 + 1/4 * FsIn,其目的是进一步保证在插值之后,信号频谱的带外部分能够被足够衰减,防止混叠现象的发生。由于插值过程会把输入信号的频谱周期性延拓,滤波器的阻带需要覆盖到这些延拓部分,以保证无用信号被滤除。
补偿滤波器的幅频响应图如下:
notion image

第四级 CIC插值滤波器

前面经过三级的二插值滤波器以后,再经过CIC滤波器16倍插值即可完成128倍的插值。幅频响应如下:
notion image

Simulink仿真

 
📌
利用计数器产生不同的使能信号来控制滤波器进行采样率的变化

DUC_Module

NCO_system

该模块用以生成基带信号
频谱图如下
notion image
时域波形如下
notion image

LP_system

对信号进行第一次二插值,处理后的频谱图为
notion image
时域波形为
notion image
可以看到频谱中的高频部分被滤除了一部分,时域上每两个样点之间插入了一个新的值。

HB_system

使用半带滤波器对信号再次进行滤波并二插值,输出的频谱为
notion image
时域波形为
notion image
可以看出在两个样点之间又插入了一个样点。

CIC_COMP_system

由于CIC插值滤波器在通带内不平坦,有损耗,因此需要加入一个CIC补偿滤波器。频谱图为
notion image
时域图为
notion image
经过采样保持模块后将信号还原为连续波形:
notion image
此时信号的采样率较高,使用Downsample模块将采样率调节到正确的频率,然后再送入 CIC 插值滤波器。

CIC Interpolation

输入端的采样率为384KHz
notion image
经过16插值后,输出端的采样率为6.144MHz。
notion image

归一化

CIC插值滤波器输出的数据类型sfix16_En2,将数据归一化后才能正确进行AM调制。

AM模块

整体波形如下
notion image