首页 > 其他分享 >【AGC+FPGA】基于FPGA的数字AGC自适应增益设计,应用在BPSK调制解调系统中

【AGC+FPGA】基于FPGA的数字AGC自适应增益设计,应用在BPSK调制解调系统中

时间:2022-10-10 16:08:15浏览次数:49  
标签:wire 15 FPGA clk 31 AGC output input BPSK


        AGC测试,这里我们主要通过产生一个信号,输入到AGC中,来分析AGC的工作效果,其仿真结果如下 图所示:

【AGC+FPGA】基于FPGA的数字AGC自适应增益设计,应用在BPSK调制解调系统中_数字AGC

 这里,我们使用测试信号的时候,通过输入一个正弦信号,实现AGC的功能。

        BPSK解调部分,这里只能测试部分,因为原始程序中,包括了AD部分,这个部分是外部的数据的模数转换之后获得数字信号,这个仿真没法模拟。

       下面对BPSK解调部分进行仿真测试:

【AGC+FPGA】基于FPGA的数字AGC自适应增益设计,应用在BPSK调制解调系统中_数字信号_02

module BPSKTop(
input wire clk,
input wire rst,
input wire CE1x,
input wire CE2x,
input wire CE4x,
input wire CE128x,
input wire Reset,
input wire[15:0] DI,
input wire[15:0] DQ,
input wire[31:0] BTRThr,
output wire[15:0] TPBus1,
output wire[15:0] TPBus2,
output wire[15:0] TPBus3,
output wire PLLLockFlag,
output wire[15:0] BestSampleI,
output wire[15:0] BestSampleQ,
output wire BTRDecisionEn,
output wire BTRDecisionData);

wire [15:0] LPFOutI;
wire [15:0] LPFOutQ;
wire [15:0] SumLPFOutI;
wire [15:0] SumLPFOutQ;
wire [32:0] PLLComplexMultiplerOutI;
wire [32:0] PLLComplexMultiplerOutQ;
wire [15:0] NCOCosin;
wire [15:0] NCOSin;
wire [15:0] BPSKPLLSourceReal;
wire [15:0] BPSKPLLSourceImag;
wire [15:0] BestSampleITmp;
wire [15:0] BestSampleQTmp;
wire TmpBit;
wire [15:0] TmpSymbol;

BPSKTop_ComplexMult BPSKTop_ComplexMult_ins(
.clk(clk),
.rst(rst),
.DI(DI),
.DQ(DQ),
.NCOCosin(NCOCosin),
.NCOSin(NCOSin),
.PLLComplexMultiplerOutI(PLLComplexMultiplerOutI),
.PLLComplexMultiplerOutQ(PLLComplexMultiplerOutQ));

BPSKPLLTop U_BPSKPLLTop(
.clk(clk),
.CE128x(CE128x),
.Reset(rst),
.SinkReal(PLLComplexMultiplerOutI[31:16]),
.SinkImag(PLLComplexMultiplerOutQ[31:16]),
.BPSKPLLLockFlagOut(PLLLockFlag),
.NCOCosin(NCOCosin),
.NCOSin(NCOSin),
.SourceReal(BPSKPLLSourceReal),
.SourceImag(BPSKPLLSourceImag));




SumClearFilter U_SumClearFilter(
.clk(clk),
.CEx(CE128x),
.SinkReal(PLLComplexMultiplerOutI[31:16]),
.SinkImag(PLLComplexMultiplerOutQ[31:16]),
.SourceReal(LPFOutI),
.SourceImag(LPFOutQ));

BTRTop U_BTRTop(
.clk(clk),
.CE1x(CE1x),
.CE2x(CE2x),
.DI(PLLComplexMultiplerOutI[31:16]),
.DQ(PLLComplexMultiplerOutQ[31:16]),
.BTRThr(BTRThr),
.BestSampleI(BestSampleITmp),
.BestSampleQ(BestSampleQTmp),
.BTRDecisionEn(BTRDecisionEn),
.BTRDecisionData(BTRDecisionData));

assign BestSampleI = BestSampleITmp;
assign BestSampleQ = BestSampleQTmp;
assign TPBus1 = BPSKPLLSourceReal;
assign TPBus2 = BPSKPLLSourceImag;
assign TPBus3 = SumLPFOutI;

endmodule


标签:wire,15,FPGA,clk,31,AGC,output,input,BPSK
From: https://blog.51cto.com/u_15815923/5744384

相关文章

  • 【DA算法】基于DA算法的FIR滤波器的FPGA实现
    1.软件版本quartusii2.本算法理论知识   DA算法的主要特点是,巧妙地利用查找表将固定系数的MAC运算转化为查表操作,其运算速度不随系数和输入数据位数的增加而降低,而且......
  • 基于FPGA的图像均衡处理
       通过对你的MATLAB的程序的仿真,得到了如下的效果:二、FPGA部分的设计实现注意点在进行FPGA设计的时候,我们需要主要以下几个方面:第一:关于图片大小的统一   这里,我们......
  • [AGC028B] Removing Blocks
    E-EternalAverage真的好做这道题的时候严重怀疑自己发烧了,不知道为什么,感觉身上冷冰冰的,头还烫烫的,有可能是因为太闷了,导致脑子有点不够用性质推简单dp了令最后留下......
  • AT2371 [AGC013E] Placing Squares
    AT2371[AGC013E]PlacingSquares设\(f_i\)表示考虑到第\(i\)个点的贡献之和且不考虑坏点。不难发现转移方程为\(f_n=\sum_{i=0}^nf_i\times(n-i)^2\)则当第\(n......
  • 【题解】「AGC013D」Piling Up
    传送门题目大意:开始有\(n\)个黑白球在袋子中,但是不知道具体多少黑球白球,有\(m\)次操作,每次从袋子中先拿一个球,再放入一个黑球一个白球,再拿走一个球,求所有初始情况下......
  • AGC001
    第一次尝试AGC。A(最优化、贪心)排序之后隔一个选一个即可。B(递推)定义\(f(a,b)\)表示底为\(b\)腰为\(a\)的等腰梯形从右上角开始的答案,可以在\(f(a,b)\)和\(f(......
  • FPGA学习--VHDL基本结构
    一个完整的VHDL程序,或者说设计实体,通常要求最低能为VHDL综合器所支持,并能作为一个独立的设计单元,即元件的形式而存在的VHDL程序。在VHDL程序中,通常包含实体(ENTITY)、结构体......
  • [AGC041D] Problem Scores
    StOKubic神发现主要限制在第三个限制,考虑变形一下限制要求,问题转化为要求序列的\(k=\lfloor\dfrac{n}{2}\rfloor\),的前\(k+1\)项的和,大于后\(k\)项的和。动......
  • AGC014
    A若存在答案则答案是\(\mathcal{O}(\loga)\)的,直接模拟即可。B可以发现有解当且仅当给出的\(m\)条边存在欧拉回路。C\((\texttt{Easy}\1/0)\)删掉的障碍是......
  • TMS320C6678 + XC7K160T DSP+FPGA+ AD 24bit 国产高精度高性能主板设计方案
    最近在开发一款产品时,用到了一颗国产高精度​​ADC​​​,原子​​半导体​​​的AS1412,了解到该产品的一些优势,不仅精度高、线性度好,功耗还低,能够满足很多力的传感​​测量......