通信原理课程设计Word下载.docx

上传人:b****1 文档编号:846503 上传时间:2023-04-29 格式:DOCX 页数:16 大小:480.68KB
下载 相关 举报
通信原理课程设计Word下载.docx_第1页
第1页 / 共16页
通信原理课程设计Word下载.docx_第2页
第2页 / 共16页
通信原理课程设计Word下载.docx_第3页
第3页 / 共16页
通信原理课程设计Word下载.docx_第4页
第4页 / 共16页
通信原理课程设计Word下载.docx_第5页
第5页 / 共16页
通信原理课程设计Word下载.docx_第6页
第6页 / 共16页
通信原理课程设计Word下载.docx_第7页
第7页 / 共16页
通信原理课程设计Word下载.docx_第8页
第8页 / 共16页
通信原理课程设计Word下载.docx_第9页
第9页 / 共16页
通信原理课程设计Word下载.docx_第10页
第10页 / 共16页
通信原理课程设计Word下载.docx_第11页
第11页 / 共16页
通信原理课程设计Word下载.docx_第12页
第12页 / 共16页
通信原理课程设计Word下载.docx_第13页
第13页 / 共16页
通信原理课程设计Word下载.docx_第14页
第14页 / 共16页
通信原理课程设计Word下载.docx_第15页
第15页 / 共16页
通信原理课程设计Word下载.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

通信原理课程设计Word下载.docx

《通信原理课程设计Word下载.docx》由会员分享,可在线阅读,更多相关《通信原理课程设计Word下载.docx(16页珍藏版)》请在冰点文库上搜索。

通信原理课程设计Word下载.docx

--开始调制信号

x:

--基带信号

y:

outstd_logic);

--调制信号

endchenrong_ASK;

architecturebehavofchenrong_ASKis

signalq:

integerrange0to1;

--载波信号f的分频计数器

signalf:

std_logic;

--载波信号f

begin

process(clk)--此进程通过对系统时钟clk的分频,得到载波f

ifclk'

eventandclk='

1'

then

ifstart='

0'

thenq<

=0;

elsifq<

=0thenf<

='

;

q<

=q+1;

=1thenf<

elsef<

endif;

endif;

图4ASK调制电路符号

endprocess;

y<

=xandf;

endbehav;

③ASK的仿真分析

由VHDL程序实现的ASK调制器电路程序如图4所示,ASK调制电路的仿真波形如图5所示。

图5ASK的仿真图

如图5仿真图所示,当开始调制信号start为高电平时,分频器对系统时钟clk进行2分频,我们所选的晶振是4.4MHZ,所以f是2.2MHZ的信号,满足题目要求,基带信号通过与门对载波进行调制后输出已调信号。

输出的调制信号y滞后于输入基带信号x约一个clk时间。

五、2FSK数字调制器的设计

1、2FSK的基本原理

频移键控(FSK)是利用载波频率变化来传递数字信息。

在2FSK中,载波的频率随二进制基带信号在f1和f2两个频率点间变化。

频率f1发送“1”,频率为f2时发送“0”或者相反。

2、2FSK设计思路

如图6所示,输入220MHZ的时钟信号,经过2分频和4分频得到110MHZ和55MHZ的载波,二选一数据选择器根据基带信号的变化产生不同频率的载波信号,再通过正弦信号发生器产生采样、量化后的数字信号,最后经过的D/A转换器产生正弦调制信号。

而图的另外两路则是产生方波调制信号。

3、2FSK调制电路的VHDL实现

(1)chenrong_FSK模块的VHDL实现

①chenrong_FSK模块的VHDL程序如下:

entitychenrong_FSKis

z:

outstd_logic;

endchenrong_FSK;

architecturebehavofchenrong_FSKis

signalq1:

integerrange0to11;

--载波信号f1的分频计数器

signalq2:

integerrange0to3;

--载波信号f2的分频计数器

signalq3:

integerrange0to100;

signalq4:

integerrange0to200;

signalf1,f2,f3,f4:

--载波信号f1,f2,f3,f4

process(clk)--此进程通过对系统时钟clk的分频,得到载波f1

thenq1<

elsifq1<

=1thenf1<

q1<

=q1+1;

--改变q1后面的数字可以改变,载波f1的占空比

elsifq1=3thenf1<

--改变q1后面的数字可以改变,载波f1的频率

elsef1<

endif;

process(clk)--此进程通过对系统时钟clk的分频,得到载波f3

thenq3<

elsifq3<

=49thenf3<

q3<

=q3+1;

--改变q3后面的数字可以改变,载波f3的占空比

elsifq3=99thenf3<

--改变q3后面的数字可以改变,载波f3的频率

elsef3<

process(clk)--此进程通过对系统时钟clk的分频,得到载波f2

then

thenq2<

elsifq2<

=0thenf2<

q2<

=q2+1;

--改变q2后面的数字可以改变,载波f2的占空比

elsifq2=1thenf2<

--改变q2后面的数字可以改变,载波f2的频率

elsef2<

process(clk)--此进程通过对系统时钟clk的分频,得到载波f4

thenq4<

elsifq4<

=99thenf4<

q4<

=q4+1;

—改变q4后面的数字可以改变,载波f4的占空比

elsifq4=199thenf4<

--改变q3后面的数字可以改变,载波f4的频率

elsef4<

process(clk,x)--此进程完成对基带信号的FSK调制

ifx='

theny<

=f1;

--当输入的基带信号x='

时,输出的调制信号y为f1

elsey<

=f2;

--当输入的基带信号x='

时,输出的调制信号y为f2

thenz<

=f4;

时,输出的调制信号z为f4

elsez<

=f3;

--当输入的基带信号x='

时,输出的调制信号z为f3

图7FSK调制电路符号

②仿真波形分析

由VHDL程序实现的FSK调制电路符号如图7所示,FSK调制电路的仿真波形如图8所示。

图8FSK的调制信号仿真波形

(2)正弦信号发生器

正弦波发生器是整个系统设计的关键。

众所周知,模拟信号要经过采样、量化过程后才能变成数字信号,这一过程称为A/D变换。

这里要研究的是由数字合成技术产生模拟的正弦波信号,也就是首先要产生经过采样、量化后的数字信号,再经过D/A变换器转换成模拟正弦波信号。

根据采样定理,只要采样频率大于2倍的被采样信号的最高频率,就可以无失真地恢复被采样信号。

为了减小采样和量化误差,在正弦波发生器中对每个正弦波周期采样50个点,每个采样值进行8位量化,可用下式来计算每个样值。

A=127(sin(2πn/50)+1),n=0,1,2⋯49

这里A的取值为0~255,是为了避免出现负值,在D/A变换后可用电平移位电路还原。

有了各点的样值后,就可以用VHDL来实现正弦波发生器了。

具体的正弦波发生器可以用状态机来实现,也可以用CASE等条件选择语句来实现。

由正弦波发生器输出的就是8位二进制数字信号,再经过D/A变换器就可以到频率为2.2MHz和1.1MHz的2FSK信号了。

①正弦信号发生器的部分程序如下:

entitychenrong_sinis

port(y1:

--

sin_output:

outstd_logic_vector(7downto0));

endchenrong_sin;

architecturemain4ofchenrong_sinis

signalcout:

std_logic_vector(6downto0);

process(y1)

if(y1'

eventandy1='

)then

if(cout="

0110001"

)then

cout<

="

0000000"

;

elsecout<

=cout+1;

endprocess;

casecoutiS

when"

=>

sin_output<

="

01111111"

0000001"

10001111"

…………

0110000"

01011111"

01101111"

whenothers=>

null;

endcase;

图9正弦信号发生器的电路符号

endmain4;

上述程序不完整,CASE语句的部分可以参照附表一计算出的量化单位来进行补充

②仿真分析

由VHDL程序实现的正弦信号发生器电路符号如图9所示,FSK调制电路的仿真波形如图10所示

图10正弦信号发生器的仿真波形

如图10所示,仿真图按照附表1的量化数据输出满足要求。

(3)顶层文件的设计

①顶层文件采样原理图输入法来设计,原理图如图所示

图11顶层文件的仿真图

如图11所示,输出的是方波的2FSK调制信号,而sin输出的是量化的数字信号,只要经过D/A转换器就可以得出正弦调制信号。

五、结论

本文基于2FSK、2ASK的基本原理,进行二进制调制解调器的设计。

运用VHDL语言对器件进行功能描述,在QuartusII6.1软件平台上对所描述器件进行时序仿真。

整个设计过程采用VHDL语言实现,设计灵活、修改方便,具有良好的可移植性及产品升级的系统性。

参考文献

1、《EDA技术实用教程》潘松科学出版社2006

2、《FPGA系统设计与实例》杨晓慧杨旭人民邮电出版社2009

3、《通信原理》(第六版)樊昌信曹丽娜国防出版社2006

4、《EDA技术与CPLD/FPGA开发应用简明教程》刘爱荣清华大学出版社2007

附表1采样50个点计算得到的量化值

0到49的二进制

N的取值

幅值

量化幅值的二进制

000000

127

01111111

000001

1

142.9173204

10001111

000010

2

158.5836151

10011111

000011

3

173.7518174

10101110

000100

4

188.1827157

10111100

000101

5

201.6487259

11001010

000110

6

213.9374813

11010110

000111

7

224.8551806

11100001

001000

8

234.2296454

11101010

001001

9

241.9130346

11110010

001010

10

247.7841767

11111001

001011

11

251.7504803

11111100

001100

12

253.7493943

11111110

001101

13

253.7493947

001110

14

251.7504816

11111011

001111

15

247.7841788

11111000

010000

16

241.9130375

010001

17

234.229649

010010

18

224.855185

010011

19

213.9374862

010100

20

201.6487314

010101

21

188.1827216

010110

22

173.7518238

010111

23

158.5836217

011000

24

142.9173271

011001

25

127.0000068

011010

26

111.0826864

01101111

011011

27

95.41639145

01011111

011100

28

80.2481889

01010000

011101

29

65.81729031

01000010

011110

30

52.35127957

00110100

011111

31

40.0625237

00101000

100000

32

29.14482372

00011101

100001

33

19.77035828

00010100

100010

34

12.08696828

00001100

100011

35

6.215825375

00000110

100100

36

2.249520994

00000010

100101

37

0.250606122

00000000

100110

38

0.25060484

100111

39

2.249517168

101000

40

6.215819065

101001

41

12.08695958

101010

42

19.77034733

101011

43

29.14481071

101100

44

40.06250882

101101

45

52.35126305

101110

46

65.81727242

101111

47

80.24816991

110000

48

95.41637167

110001

49

111.0826661

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2