日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

FPGA产生相位编码基带信号

發布時間:2024/3/7 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FPGA产生相位编码基带信号 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

相位編碼信號簡介

?對于基帶信號來說,不需要載頻,只需要產生復包絡即可,即生成雙極性的m序列。

m序列產生原理

????????m序列利用多級移位寄存器產生,由N個串聯的寄存器、移位脈沖產生器、和模2加法器組成。反饋線的連接狀態用Ci表示,Ci=1表示此線接通(參加反饋),Ci=0表示此線斷開。

????????由于反饋線的存在,移位寄存器的輸入端自發地輸入信號,除全零狀態外,N級移位寄存器最大有種狀態。

m序列產生原理

?m序列的產生原理圖如上圖所示,自發式的產生種狀態。

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) beginif (enable)clk_weima <= ~clk_weima;endalways @(posedge clk_weima) beginif (shift_reg==0)shift_reg<=1;elsebeginshift_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];endendendmodule

????????此時產生了一位單極性的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;elseena_num=0;if ((ena_num>8)|(ena_num==0))enable =0;else enable = 1; endalways @(posedge clk_160M) begin //m序列變成14位的雙極性碼if(enable)if(m_out)s_out = 8191;elses_out = -8191;elses_out=0;endendmodule

產生原理框圖

????????相位編碼信號的系統框圖如下圖所示,系統包括三個部分,由移位寄存器,編碼轉換、脈沖轉換三個部分組成。

????????32位的移位寄存器用于產生m序列。然后經過編碼轉換,單比特的碼值轉換為14比特的并行數據。然后經過脈沖轉換,這部分由一個5MHz、25%占空比的使能信號來控制,將連續的信號轉換為脈沖信號。

Vivado仿真結果

總結

以上是生活随笔為你收集整理的FPGA产生相位编码基带信号的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。