数字信号处理的FPGA实现——混频器(Mixer)

Posted maobitcoder

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数字信号处理的FPGA实现——混频器(Mixer)相关的知识,希望对你有一定的参考价值。

  1. 设计思路

    在FPGA中实现一个简单的混频器电路,将两个625Khz的正弦波信号相乘输出。其中625Khz的本振信号由FPGA内部的NCO产生,625Khz的正弦波信号通过读取外部的激励文件(txt)产生。其中外部激励文件由matlab仿真程序产生。

  2. 实验效果

 

将两个625Khz混频后产生的信号中的直流分量滤除,输出1.25Mhz正弦波信号,为了方便观察实验现象对波形进行625_000分频。并且进行整形(过0检测)输出给led灯。

  1. matlab仿真

    实验代码

/*****************************************************

  * Module Name : edge_get.v

  * Engineer : maobitcoder

  * Target Device : EP2C8Q208C8

  * Tool versions : Vscode

  * Create Date : 20183320:09:14

  * Revision : v1.0

  * Description :实现双边沿检测 高电平输出

  *****************************************************/

module edge_get(

clk,

rst_n,

signal,

pos_edge,

neg_edge

);

 

input clk;

input rst_n;

input signal;

 

output pos_edge;

output neg_edge;

reg signal_r0;

reg signal_r1;

 

 

always @(posedge clk or negedge rst_n) begin

if (!rst_n) begin

signal_r0 <= 1‘b0;

signal_r1 <= 1‘b0;

end

else begin

signal_r0 <= signal;

signal_r1 <= signal_r0;

end

end

 

assign pos_edge = signal_r0 & ~signal_r1;

assign neg_edge = ~signal_r0 & signal_r1;

 

endmodule // edge_get

 

 

 

四,FPGA实现

 

以上是关于数字信号处理的FPGA实现——混频器(Mixer)的主要内容,如果未能解决你的问题,请参考以下文章

基于FPGA的频率检测与LCD显示

FPGA中为啥要用分频器进行分频

FPGA教程案例10基于Verilog的复数乘法器设计与实现

FPGA教程案例12基于vivado核的复数乘法器设计与实现

FPGA教程案例8基于verilog的分频器设计与实现

数字下变频基于quartusii的FPGA数字下变频系统设计,包括NCO,CIC,半带滤波器等模块的详细FPGA实现过程