日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

基于RAM的雷达线性调频信号产生

發布時間:2023/12/31 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于RAM的雷达线性调频信号产生 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

什么是DDS

????????DDS(Direct Digital Synthesis)是一種把一系列數字信號通過D/A轉換成模擬信號的數字合成技術。它有查表法和計算法兩種基本合成方法。由于ROM查詢法結構簡單,只需要在ROM中存放不同相位對應的幅度序列,然后通過相位累加器的輸出對其尋址,經過數/模轉換和低通濾波(LPF)輸出便可以得到所需要的模擬信號。這里,選用ROM查表法。DDS技術實質上是實現了一個數字分頻器的功能。對于一個周期的正弦波連續信號,可以沿其相位軸方向,以等量的相位間隔對其進行相位/幅度采樣,得到一個周期性的正弦信號的離散相位的幅度序列,對模擬幅度進行量化后的幅值采用二進制量化保存,這樣就把一個周期的正弦波連續信號轉換成一系列離散的二進制數字量,然后存到ROM中,每個存儲器單元的地址即是相位取樣地址,存儲單元的內容是已經量化了的正弦波幅值。一個這樣的Rom存儲器構成了一個與2π周期相位取樣對應的正弦波函數表。

????????換句話說,預先把波形數據存儲到ROM中,然后根據想要的輸出頻率進行輸出,即可產生階梯波形,再通過低通濾波器進行平滑處理即可得到任意波形

matlab產生ROM所需coe文件

clc,clear; %%參數設置 c=3e8; T=10e-6;%10e-6時間發送完畢10ns B=20e6;%%帶寬 K=B/T; Fs=200e6;%采樣率 Ts=1/Fs; f0=0;%頻點設置 可以修改 R=1000;%目標距離 t=0:Ts:T; N=T/Ts+1;%采樣點數 對應ROM深度 x0_cos=cos(2*pi*(f0+K/2.*t).*t);%得到的cos值在-1到1之前,需要量化,量化參數根據ROM位寬設置 %此處ROM位寬為16,由于MSB是符號位,所以cos數據*2^15 x0_cos=x0_cos*2^15; x0_sin=sin(2*pi*(f0+K/2.*t).*t); x0_sin=x0_sin*2^15; x0=x0_cos+1j*x0_sin;%發射 RCS可以設置,此處默認為1fid=fopen('E:\work\matlab\coe\x0_cos.coe','wt'); fprintf(fid,'MEMORY_INITIALIZATION_RADIX = 10;\n'); fprintf(fid,'MEMORY_INITIALIZATION_VECTOR = \n'); for i=1:1:length(x0_cos)-1fprintf(fid,'%.0f,\n',x0_cos(1,i)); end fprintf(fid,'%.0f;\n',1e5*x0_cos(1,length(x0_cos))); fclose(fid);

?vivado rom IP核使用

新建一個工程雙擊IP Catalog? 搜索ROM,選擇如圖所示ip

?rom的設置

?

?

點擊ok,即可生成rom IP核

Verilog 代碼?

先寫design source?

module dds(input clk,res,output[15:0] data );reg[10:0] addr;always@(posedge clk or negedge res)beginif(~res)begin;addr<=0;endelse if(addr==11'd2000)addr<=0;else addr<=addr+1;endtest_rom u1 (.clka(clk), // input wire clka.addra(addr), // input wire [10 : 0] addra.douta(data) // output wire [15 : 0] douta ); endmodule

測試文件代碼如下

module test_dds_tb(); reg clk,res; wire[15:0] data; dds dds(.clk(clk),.res(res),.data(data) ); initial beginclk<=0;res<=0;#20 res<=1;#5000 $stop; end always #5 clk<=~clk;endmodule

設為頂層文件之后運行仿真,結果如下

?總結

數據會出現1000_0000_0000_0000,原本是32768,顯示-32768,因為顯示的是有符號數,具體的實現和設計根據項目要求設計,或者自己設計一個rom,addr取址是有影響的,addr為0和1的時候取得值錯誤,addr=2時取得值對應線性調頻第一個數據

總結

以上是生活随笔為你收集整理的基于RAM的雷达线性调频信号产生的全部內容,希望文章能夠幫你解決所遇到的問題。

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