当前位置:网站首页>M using Verilog to develop GMSK modulator based on FPGA under ISE platform
M using Verilog to develop GMSK modulator based on FPGA under ISE platform
2022-07-22 01:58:00 【I love c programming】
Catalog
3. Preview of some simulation drawings
4. Source code acquisition method
1. Algorithm description
Gaussian minimum frequency shift keying (Gaussian Filtered Minimum Shift Keying), This is a GSM The modulation mode adopted by the system . Digital modulation and demodulation technology is an important part of the air interface of digital cellular mobile communication system .GMSK Modulation is in MSK( Minimum frequency shift keying ) A Gaussian low-pass premodulation filter is inserted before the modulator .GMSK It improves the spectrum efficiency and communication quality of digital mobile communication .
GMSK Modulation technology is from MSK(Minimum Shift Keying) A digital modulation method developed on the basis of modulation , Its characteristic is that before the data stream is sent to the frequency modulator, it passes through a Gauss filter ( Premodulation filter ) Perform pre modulation filtering , In order to reduce the jump energy during the switching of two carriers with different frequencies , So that the channel spacing can become closer at the same data transmission rate . Because the digital signal is modulated Gauss Premodulation filtering , The modulated signal is not only phase continuous at the crossing zero , And smooth filtering , therefore GMSK The modulated signal has a compact spectrum 、 Good bit error characteristics , It has been widely used in digital mobile communication , Such as widely used GSM(Global System for Mobile communication) Mobile communication system is to use GMSK Modulation mode .
l979 Proposed by Nippon Telegraph and Telephone Corporation GMSK Modulation mode . It has good power spectrum characteristics , Better bit error performance , Especially the out of band radiation is small , It is suitable for working in VHF and UHF Band mobile communication system , It has attracted more and more attention .GMSK The theoretical research of modulation mode has been relatively mature , There are not many practical applications , It is mainly because there are still some difficulties in engineering in the design and manufacture of Gaussian filter . The minimum frequency shift keying of Gaussian filter before modulation is abbreviated as GMSK, The basic working principle is to shape the baseband signal through Gaussian filter , Then perform minimum frequency shift keying (MSK) modulation . Because the formed Gaussian pulse envelope has no steep edge , No inflection point , Therefore, the spectral characteristics are better than MSK Spectrum characteristics of signal .
Gaussian filter is usually used 3dB bandwidth B And input symbol width T The product of the BT Value as a main parameter in designing Gaussian filter .BT The smaller the value. ,GMSK The faster the high-frequency component of the signal power spectral density decays .
2. Partial procedure
`timescale 1ns / 1ps
module tops(
i_clk,
i_rst,
o_binary_gen,
o_chafen_encode,
o_gauss_filter,
o_adder,
o_cos_I,
o_sin_Q,
o_cos,
o_sin,
o_GMSK_I,
o_GMSK_Q,
o_GMSK_R
);
input i_clk;
input i_rst;
output o_binary_gen;
output o_chafen_encode;
output signed[15:0]o_gauss_filter;
output signed[31:0]o_adder;
output signed[15:0]o_cos_I;
output signed[15:0]o_sin_Q;
output signed[15:0]o_cos;
output signed[15:0]o_sin;
output signed[15:0]o_GMSK_I;
output signed[15:0]o_GMSK_Q;
output signed[15:0]o_GMSK_R;
reg[3:0]cnt;
wire clk_16div;
always @(posedge i_clk or posedge i_rst)
begin
if(i_rst)
begin
cnt <= 4'b0000;
end
else begin
cnt <= cnt + 4'd1;
end
end
assign clk_16div = cnt[3];
binary_gen binary_gen_u(
.i_clk (clk_16div),
.i_rst (i_rst),
.o_dout (o_binary_gen)
);
chafen_encode chafen_encode_u(
.i_clk (clk_16div),
.i_rst (i_rst),
.i_din (o_binary_gen),
.o_dout (o_chafen_encode)
);
gauss_filter gauss_filter_u(
.i_clk (i_clk),
.i_rst (i_rst),
.i_din ({~o_chafen_encode,1'b1}),
.o_dout (o_gauss_filter)
);
adder adder_u(
.i_clk (i_clk),
.i_rst (i_rst),
.i_din (o_gauss_filter),
.o_dout (o_adder)
);
nco_gen nco_gen_u(
.i_clk(i_clk),
.i_rst(i_rst),
.i_adder(o_adder),
.o_cos(o_cos_I),
.o_sin(o_sin_Q)
);
nco_gen2 nco_gen2_u(
.i_clk(i_clk),
.i_rst(i_rst),
.o_cos(o_cos),
.o_sin(o_sin)
);
wire signed[31:0]I_tmps;
wire signed[31:0]Q_tmps;
multer multer_u1(
.clk (i_clk),
.a (o_cos_I), // Bus [15 : 0]
.b (o_cos), // Bus [15 : 0]
.sclr(i_rst),
.p (I_tmps)
); // Bus [31 : 0]
multer multer_u2(
.clk (i_clk),
.a (o_sin_Q), // Bus [15 : 0]
.b (o_sin), // Bus [15 : 0]
.sclr(i_rst),
.p (Q_tmps)
); // Bus [31 : 0]
assign o_GMSK_I = I_tmps[31:16];
assign o_GMSK_Q = Q_tmps[31:16];
assign o_GMSK_R = o_GMSK_I + o_GMSK_Q;
endmodule
3. Preview of some simulation drawings
4. Source code acquisition method
Click the download link :
Access method 2:
Blog resource item , Search for resources with the same name as blog .
Access method 3:
If the download link fails , Blogger wechat contact .
01_081_m
边栏推荐
猜你喜欢
午休专列&问题思考:由时:分:秒构成字符串转换为秒的问题思考
Jupyterhub configuring go environment
OSPF knowledge summary
m基于中继协助的认知无线电频谱切换机制的matlab仿真分析
为Kubernetes选择合适的容器运行时
m在simulink进行DS-CDMA建模,然后通过MATLAB调用simulink模型进行误码率仿真
一文深入浅出理解国产开源木兰许可系列协议
Understand the domestic open source Magnolia license series agreement in simple terms
Judgment of empty string in Oracle
如何用Go实现一个异步网络库?
随机推荐
Idea 常用插件
Unity物理组件之刚体Rigidbody
C # use resx manager to switch between Chinese and English
VALDO2021——血管病变检测挑战赛之血管间隙分割(一)
Compare the market Taobao short video tools / software, and analyze the future trend of Taobao short video
微软将在安全软件和云业务部门放缓招聘
js中批量修改对象中的属性值
使用修改为jmp指令的方式hook 32位函数
Huirong technology and jiangbolong work together to improve the competitiveness of mobile phone storage
How to use the order flow analysis tool (Part 1)
Neural network plus attention mechanism, accuracy does not rise but fall?
Aruba learning notes 03 Web UI -- Introduction to monitoring panel
Prometheus simple understanding
Understand the domestic open source Magnolia license series agreement in simple terms
Jupyterhub configuring go environment
Codeforces Round #809 (Div. 2) - C, D1
最近的三个数之和
玫瑰
2022.7.20-----leetcode.1260
动态规划多重背包——庆功会(一维)