提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 为什么要进行调制?
- FSK调制原理
- 二、调制的过程
- 1.M序列发生器
- 2.载波的实现
- 3.调制信号
- 4.wave仿真图
- 5.波形查看技巧
- 总结
为什么要进行调制?
FSK(Frequency-shift keying)- 频移键控是利用载波的du频率变化来传递数字信息。它是利用基带数字信号离散取值特点去键控载波频率以传递信息的一种数字调制技术。FSK(Frequency-shift keying)是信息传输中使用得较早的一种调制方式,它的主要优点是: 实现起来较容易,抗噪声与抗衰减的性能较好。在中低速数据传输中得到了广泛的应用。 最常见的是用两个频率承载二进制1和0的双频FSK系统。 技术上的FSK有两个分类,非相干和相干的FSK 。 在非相干的FSK ,瞬时频率之间的转移是两个分立的价值观命名为马克和空间频率,分别为。 在另一方面,在相干频移键控或二进制的FSK ,是没有间断期在输出信号。 在数字化时代,电脑通信在数据线路(电话线、网络电缆、光纤或者无线媒介)上进行传输,就是用FSK调制信号进行的,即把二进制数据转换成FSK信号传输,反过来又将接收到的FSK信号解调成二进制数据,并将其转换为用高,低电平所表示的二进制语言,这是计算机能够直接识别的语言
FSK调制(2FSK为二进zhi数字频率调制),用载波的频率来传送数字信息,即用所传送的数字信息控制载波dao的频率。
2FSK信号便是符号“0”对应于载频 f1,而符号“1”对应于载频 f2(与 f1 不同的另一载频)的已调波形,而且 f1 与 f2 之间的改变是瞬间的。
传“0”信号时,发送频率为 f1 的载波; 传“1”信号时,发送频率为 f2的载波。可见,FSK 是用不同频率的载波来传递数字消息的。
FSK调制原理
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
二、调制的过程
1.M序列发生器
M序列的方式又很多种,这是比较简单的一种,代码如下(示例):
module m_seq1023(
input rst_n,
input clk ,
input clk_en,
output m_seq_out
);
reg [9:0] data_temp;
wire bit_temp;
assign bit_temp = data_temp[7]^data_temp[0];
//移位寄存器
always @(posedge clk or negedge rst_n)
if (!rst_n)
data_temp <= 10'd5;
else if(clk_en)
data_temp <= {bit_temp,data_temp[9:1]};
assign m_seq_out = data_temp[9];
endmodule
2.载波的实现
载波可以直接使用IPcore,在这里投个懒直接使用查表法,构造SIN函数波形。
0:begin carryWave0<=0;carryWave1<=0; carryWave2<=0;carryWave3<=0;end
1:begin carryWave0<=12;carryWave1<=25; carryWave2<=49;carryWave3<=90;end
2:begin carryWave0<=25;carryWave1<=49; carryWave2<=90;carryWave3<=127;end
3:begin carryWave0<=37;carryWave1<=71; carryWave2<=117;carryWave3<=90;end
4:begin carryWave0<=49;carryWave1<=90; carryWave2<=127;carryWave3<=0;end
5:begin carryWave0<=60;carryWave1<=106; carryWave2<=117;carryWave3<=-90;end
6:begin carryWave0<=71;carryWave1<=117; carryWave2<=90;carryWave3<=-127;end
7:begin carryWave0<=81;carryWave1<=125; carryWave2<=49;carryWave3<=-90;end
8:begin carryWave0<=90;carryWave1<=127; carryWave2<=0;carryWave3<=0;end
9:begin carryWave0<=98;carryWave1<=125; carryWave2<=-49;carryWave3<=90;end
10:begin carryWave0<=106;carryWave1<=117; carryWave2<=-90;carryWave3<=127;end
11:begin carryWave0<=112;carryWave1<=106; carryWave2<=-117;carryWave3<=90;end
12:begin carryWave0<=117;carryWave1<=90; carryWave2<=-127;carryWave3<=0;end
13:begin carryWave0<=122;carryWave1<=71; carryWave2<=-117;carryWave3<=-90;end
14:begin carryWave0<=125;carryWave1<=49; carryWave2<=-90;carryWave3<=-127;end
15:begin carryWave0<=126;carryWave1<=25; carryWave2<=-49;carryWave3<=-90;end
16:begin carryWave0<=127;carryWave1<=0; carryWave2<=0;carryWave3<=0;end
17:begin carryWave0<=126;carryWave1<=-25; carryWave2<=49;carryWave3<=90;end
18:begin carryWave0<=125;carryWave1<=-49; carryWave2<=90;carryWave3<=127;end
19:begin carryWave0<=122;carryWave1<=-71; carryWave2<=117;carryWave3<=90;end
20:begin carryWave0<=117;carryWave1<=-90; carryWave2<=127;carryWave3<=0;end
21:begin carryWave0<=112;carryWave1<=-106; carryWave2<=117;carryWave3<=-90;end
22:begin carryWave0<=106;carryWave1<=-117; carryWave2<=90;carryWave3<=-127;end
23:begin carryWave0<=98;carryWave1<=-125; carryWave2<=49;carryWave3<=-90;end
24:begin carryWave0<=90;carryWave1<=-127; carryWave2<=0;carryWave3<=0;end
25:begin carryWave0<=81;carryWave1<=-125; carryWave2<=-49;carryWave3<=90;end
26:begin carryWave0<=71;carryWave1<=-117; carryWave2<=-90;carryWave3<=127;end
27:begin carryWave0<=60;carryWave1<=-106; carryWave2<=-117;carryWave3<=90;end
28:begin carryWave0<=49;carryWave1<=-90; carryWave2<=-127;carryWave3<=0;end
29:begin carryWave0<=37;carryWave1<=-71; carryWave2<=-117;carryWave3<=-90;end
30:begin carryWave0<=25;carryWave1<=-49; carryWave2<=-90;carryWave3<=-127;end
31:begin carryWave0<=12;carryWave1<=-25; carryWave2<=-49;carryWave3<=-90;end
32:begin carryWave0<=0;carryWave1<=0; carryWave2<=0;carryWave3<=0;end
33:begin carryWave0<=-12;carryWave1<=25; carryWave2<=49;carryWave3<=90;end
34:begin carryWave0<=-25;carryWave1<=49; carryWave2<=90;carryWave3<=127;end
35:begin carryWave0<=-37;carryWave1<=71; carryWave2<=117;carryWave3<=90;end
36:begin carryWave0<=-49;carryWave1<=90; carryWave2<=127;carryWave3<=0;end
37:begin carryWave0<=-60;carryWave1<=106; carryWave2<=117;carryWave3<=-90;end
38:begin carryWave0<=-71;carryWave1<=117; carryWave2<=90;carryWave3<=-127;end
39:begin carryWave0<=-81;carryWave1<=125; carryWave2<=49;carryWave3<=-90;end
40:begin carryWave0<=-90;carryWave1<=127; carryWave2<=0;carryWave3<=0;end
41:begin carryWave0<=-98;carryWave1<=125; carryWave2<=-49;carryWave3<=90;end
42:begin carryWave0<=-106;carryWave1<=117; carryWave2<=-90;carryWave3<=127;end
43:begin carryWave0<=-112;carryWave1<=106; carryWave2<=-117;carryWave3<=90;end
44:begin carryWave0<=-117;carryWave1<=90; carryWave2<=-127;carryWave3<=0;end
45:begin carryWave0<=-122;carryWave1<=71; carryWave2<=-117;carryWave3<=-90;end
46:begin carryWave0<=-125;carryWave1<=49; carryWave2<=-90;carryWave3<=-127;end
47:begin carryWave0<=-126;carryWave1<=25; carryWave2<=-49;carryWave3<=-90;end
48:begin carryWave0<=-127;carryWave1<=0; carryWave2<=0;carryWave3<=0;end
49:begin carryWave0<=-126;carryWave1<=-25; carryWave2<=49;carryWave3<=90;end
50:begin carryWave0<=-125;carryWave1<=-49; carryWave2<=90;carryWave3<=127;end
51:begin carryWave0<=-122;carryWave1<=-71; carryWave2<=117;carryWave3<=90;end
52:begin carryWave0<=-117;carryWave1<=-90; carryWave2<=127;carryWave3<=0;end
53:begin carryWave0<=-112;carryWave1<=-106; carryWave2<=117;carryWave3<=-90;end
54:begin carryWave0<=-106;carryWave1<=-117; carryWave2<=90;carryWave3<=-127;end
55:begin carryWave0<=-98;carryWave1<=-125; carryWave2<=49;carryWave3<=-90;end
56:begin carryWave0<=-90;carryWave1<=-127; carryWave2<=0;carryWave3<=0;end
57:begin carryWave0<=-81;carryWave1<=-125; carryWave2<=-49;carryWave3<=90;end
58:begin carryWave0<=-71;carryWave1<=-117; carryWave2<=-90;carryWave3<=127;end
59:begin carryWave0<=-60;carryWave1<=-106; carryWave2<=-117;carryWave3<=90;end
60:begin carryWave0<=-49;carryWave1<=-90; carryWave2<=-127;carryWave3<=0;end
61:begin carryWave0<=-37;carryWave1<=-71; carryWave2<=-117;carryWave3<=-90;end
62:begin carryWave0<=-25;carryWave1<=-49; carryWave2<=-90;carryWave3<=-127;end
63:begin carryWave0<=-12;carryWave1<=-25; carryWave2<=-49;carryWave3<=-90;end
3.调制信号
//调制部分
always @(posedge stClk)
begin
if(codeSource)
begin
sigOut=carryWave1;
end
else
begin
sigOut=carryWave0;
end
end
4.wave仿真图
代码如下(示例):
5.波形查看技巧
选中希望以模拟波形显示的信号,右击选择format—>Analog(automatic),此外,如果发现波形不对的话,可以选择Radix,下选有符号数试一试
总结
2FSK调制的核心思想就是0和1两种不同的状态对应两种不同的频率,到信号接收端的时候通过判断信号的频率从而确定数字信号原本的状态。因此通过一个if的判断语句即可完成。
下载可致
https://download.csdn.net/download/qq_36026488/84989419
最后
以上就是可爱煎蛋最近收集整理的关于基于Verilog实现2FSK调制为什么要进行调制?FSK调制原理二、调制的过程总结的全部内容,更多相关基于Verilog实现2FSK调制为什么要进行调制?FSK调制原理二、调制内容请搜索靠谱客的其他文章。
发表评论 取消回复