FPGA产生相位编码基带信号

6 篇文章 4 订阅

相位编码信号简介

 对于基带信号来说,不需要载频,只需要产生复包络即可,即生成双极性的m序列。

m序列产生原理

        m序列利用多级移位寄存器产生,由N个串联的寄存器、移位脉冲产生器、和模2加法器组成。反馈线的连接状态用Ci表示,Ci=1表示此线接通(参加反馈),Ci=0表示此线断开。

        由于反馈线的存在,移位寄存器的输入端自发地输入信号,除全零状态外,N级移位寄存器最大有2^{n}-1种状态。

m序列产生原理

 m序列的产生原理图如上图所示,自发式的产生2^{n}-1种状态。

Verilog代码如下:

module m_produce(
    input clk,
    input enable,
    output  s_out  //
    );
    reg [31:0] shift_reg = 32'h0000_0001; // 32长度的m序列发生器
    reg        out_weima = 0  ;
    reg        clk_weima = 0  ;
    reg  [2:0] weima_cnt = 0  ;
  
    assign s_out=out_weima;

    always @(posedge clk) begin
        if (enable)
        clk_weima <= ~clk_weima;
       
    end

always @(posedge clk_weima) begin
  if (shift_reg==0)
       shift_reg<=1;
      else
        begin
        shift_reg[31:0] <= {shift_reg[30:0],shift_reg[0]}; //移位
        shift_reg[0]  <= shift_reg[0]^shift_reg[1]^shift_reg[2]^shift_reg[22];   //反馈抽头
        out_weima <= shift_reg[0];
        end
    end
  
endmodule

        此时产生了一位单极性的m序列 ,然后进行极性转换并转换成14位的数据,最后变成25%占空比的脉冲信号。这样就产生了14位的相位编码信号。

Verilog代码如下:

module Pulse_signal(
    input        clk_160M,
    input        clk_5M,
    //input [13:0] s_in,
    //output reg enable,
    output reg [13:0] s_out //
    );
    reg [4:0] ena_num=0;
    wire   m_out;
    reg enable;
    //reg [13:0] s_out_temp;    //进行代码的转换 

    m_produce  u_m0_produce(
      .clk(~clk_160M),
      .enable(1),
      .s_out(m_out)
    );

    always @(negedge clk_160M ) begin      //生成5M 25%占空比的时钟
        if(1)
          ena_num=ena_num+1;
        else
          ena_num=0;
        if ((ena_num>8)|(ena_num==0))
            enable =0;
        else 
            enable = 1;    
    end

    always @(posedge clk_160M) begin    //m序列变成14位的双极性码
        if(enable)
        
          if(m_out)
              s_out = 8191;
          else
              s_out = -8191;
        else
        s_out=0;
       
    end

endmodule

产生原理框图

        相位编码信号的系统框图如下图所示,系统包括三个部分,由移位寄存器,编码转换、脉冲转换三个部分组成。

        32位的移位寄存器用于产生m序列。然后经过编码转换,单比特的码值转换为14比特的并行数据。然后经过脉冲转换,这部分由一个5MHz、25%占空比的使能信号来控制,将连续的信号转换为脉冲信号。

Vivado仿真结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值