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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

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

發(fā)布時(shí)間:2023/12/31 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于RAM的雷达线性调频信号产生 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

什么是DDS

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

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

matlab產(chǎn)生ROM所需coe文件

clc,clear; %%參數(shù)設(shè)置 c=3e8; T=10e-6;%10e-6時(shí)間發(fā)送完畢10ns B=20e6;%%帶寬 K=B/T; Fs=200e6;%采樣率 Ts=1/Fs; f0=0;%頻點(diǎn)設(shè)置 可以修改 R=1000;%目標(biāo)距離 t=0:Ts:T; N=T/Ts+1;%采樣點(diǎn)數(shù) 對(duì)應(yīng)ROM深度 x0_cos=cos(2*pi*(f0+K/2.*t).*t);%得到的cos值在-1到1之前,需要量化,量化參數(shù)根據(jù)ROM位寬設(shè)置 %此處ROM位寬為16,由于MSB是符號(hào)位,所以cos數(shù)據(jù)*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;%發(fā)射 RCS可以設(shè)置,此處默認(rèn)為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核使用

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

?rom的設(shè)置

?

?

點(diǎn)擊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

測(cè)試文件代碼如下

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

設(shè)為頂層文件之后運(yùn)行仿真,結(jié)果如下

?總結(jié)

數(shù)據(jù)會(huì)出現(xiàn)1000_0000_0000_0000,原本是32768,顯示-32768,因?yàn)轱@示的是有符號(hào)數(shù),具體的實(shí)現(xiàn)和設(shè)計(jì)根據(jù)項(xiàng)目要求設(shè)計(jì),或者自己設(shè)計(jì)一個(gè)rom,addr取址是有影響的,addr為0和1的時(shí)候取得值錯(cuò)誤,addr=2時(shí)取得值對(duì)應(yīng)線性調(diào)頻第一個(gè)數(shù)據(jù)

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。