• 方案介紹
    • 一、設計說明
    • 二、設計要求
  • 附件下載
  • 相關推薦
申請入駐 產業(yè)圖譜

基于直接數(shù)字頻率合成技術的BPSK調制verilog代碼

3小時前
85
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

1-230924222404392.doc

共1個文件

名稱:BPSK調制verilog(代碼在文末付費下載)

軟件:Quartus

語言:Verilog

要求:

一、設計說明

BPSK調制廣泛應用于衛(wèi)星通信移動通信等領域。本題目要求設計一個基于直接數(shù)字頻率合成技術的BPSK調制器FPGA IP核,實現(xiàn)對輸入周期數(shù)字比特流的BPSK調制。

二、設計要求

1.?輸入數(shù)字比特流波形和輸出BPSK調制波形必須能夠通過示波器或在ModelSim中觀測到。

2.?調制器輸入數(shù)字比特流的速率不低于10kbps。

3.?使用ALTERA公司的FPGA器件進行開發(fā)。

4.?可根據(jù)情況增加其他功能。

演示視頻:

部分代碼展示

`timescale?1ns?/?1ps
//要求輸入的數(shù)字比特流通過外面的8個開關循環(huán)8bit,按不低于10K的速率串行發(fā)這個數(shù)據(jù).
//按鍵可以切換幾個不同的載波頻率正弦波)
//輸出頻率f=clk_50M*frequency/2^10
module?DDS_top(
????input?clk_50M,
?input?rst_n,//復位
?input?freq_key_in,//frequency控制按鍵
?input?[7:0]?data_in,//調制信號,8bit
?output?[7:0]?BPSK_wave//BPSK波形輸出
????);
wire?[9:0]?addra;
wire?[9:0]?addra_cos;
assign?addra_cos=addra+512;
//wire?[7:0]?douta_fangbo;
wire?[7:0]?douta_sin;
wire?[7:0]?douta_cos;
wire?[7:0]?frequency;//頻率控制字,控制輸出波形頻率,值越大,頻率越大
wire?[15:0]?wave;//BPSK調制后波形
wire?freq_key;
wire?data_o;
//按鍵消抖
key_jitter?i_key_jitter(
.?clkin(clk_50M),
.?key_in(freq_key_in),//輸入
.?key_negedge(freq_key)//消抖后按鍵下降沿
);
//頻率控制
fre_sel?i_fre_sel(
.?clk(clk_50M),
.?key(freq_key),
.?frequency(frequency)///頻率控制字,控制輸出波形頻率,值越大,頻率越大
);
//sin波ROM
sin_ROM?i_sin_ROM?(
??.clock(clk_50M),????//?input?wire?clka
??.address(addra),??//?input?wire?[9?:?0]?addra
??.q(douta_sin)??//?output?wire?[7?:?0]?douta
);
sin_ROM?i_cos_ROM?(
??.clock(clk_50M),????//?input?wire?clka
??.address(addra_cos),??//?input?wire?[9?:?0]?addra
??.q(douta_cos)??//?output?wire?[7?:?0]?douta
);
//頻率累加器
Frequency_ctrl?i_Frequency_ctrl(
.?clk_50M(clk_50M),
.?rst_n(rst_n?&?freq_key_in),
.?frequency(frequency),//頻率控制字
.?addra(addra)//輸出地址
????);
?
//調試信號輸出
//輸入的數(shù)字比特流通過外面的8個開關循環(huán)8bit,按不低于10K的速率串行發(fā)這個數(shù)據(jù).
data_read?i_data_read(
.?clk_50M(clk_50M),
.?rst_n(rst_n?&?freq_key_in),//復位
.?data_in(data_in),//調制信號,8bit
.?data_o(data_o)//串行輸出信號
);
//調制模塊
data_bpsk?i_data_bpsk(
.?clk_50M(clk_50M),
.?rst_n(rst_n?&?freq_key_in),//復位
.?data_o(data_o),//調制信號
.?douta_sin(douta_sin),//sin
.?douta_cos(douta_cos),//cos
.?BPSK_wave(BPSK_wave)//BPSK波形輸出
);

設計文檔(文檔點擊可下載):

本要求設計一個基于直接數(shù)字頻率合成技術的BPSK調制器的FPGA IP核,實現(xiàn)對輸入周期數(shù)字比特流的BPSK調制,其中調制器輸入數(shù)字比特流的速率不低于10kbps。

首先需要產生調制信號,調制信號使用外部8位撥碼開關控制,設計一個并轉串模塊將8位并行信號轉換為串行輸出信號,信號比特流的速率不低于10kbps。然后需要設計載波信號,載波采用正弦波,使用ROM存儲一個1024點的正弦波信號和余弦信號,同時為了使載波頻率可調,通過一個按鍵控制ROM的讀速率即可控制載波頻率。最后設計調制模塊,通過調制信號控制當前輸出是正弦波還是余弦波,從而達到BPSK調制的目的。

1. 工程文件

2. 程序文件

3. 程序編譯

4. RTL圖

5. Testbench

6. 仿真圖

  • 1-230924222404392.doc
    下載

相關推薦