用途:在 MATLAB 中端到端设计数字下变频器(DDC),组合 NCO(本振)、复数混频器和多级抽取滤波链,仿真流式 HDL 优化设计,并通过 HDL Coder 生成可综合 HDL。适用于 FPGA/ASIC 的 DDC 或接收前端设计、NCO+混频器+抽取链搭建、非整数抽取、浮点 DDC 算法转 HDL 流式架构、生成完整 DDC 子系统的 Verilog/VHDL。不适用于非 HDL 工作流(如嵌入式 C 代码生成)。
主要能力:整数抽取链路为 RF 输入→混频器→CIC 抽取→补偿 FIR 抽取→基带输出;非整数抽取使用 Farrow 做精细速率调整。关键约定:NCO 相位增量必须为 phaseInc = round((-Fc * 2^AccumulatorWL) / Fs);混频器直接相乘且不加 conj(),使用 fi() 运算;CIC 与 FIR 的 OutputDataType 用 'Same word length as input',Farrow 用 'Same as first input';FIR 设置 NumCycles;NCO 的 PhaseIncrementSource 设为 'Property';所有级每时钟周期都调用并传递 valid,不用 if 判断 valid;数据必须与其对应 valid 配对使用。测试信号为实数基带波形乘以复载波指数。所有 System 对象在 HDL 函数包装中声明为 persistent。
使用方式:先通过 AskUserQuestion 逐条收集采样率与载波、输出速率、信号带宽、输入数据类型、抽取分级、CIC 参数、HDL 语言;再计算派生参数并校验 signalBandwidth/2 < Fs_out/2。设计 CIC 补偿 FIR 必须用 dsp.CICCompensationDecimator,不能用 fir1()。HDL 代码生成时该对象不受支持,需先在 MATLAB 中预计算系数并硬编码到 HDL 函数。生成命令示例:codegen -config hdlcfg myDDC -args {dataType, false} -d hdl_output。
限制:dsp.CICCompensationDecimator 不支持 HDL 代码生成;测试台只绘图不做数值通过/失败校验;资料未提供收费、价格与平台信息。