Skip to content

loveybos/CommunicationSys

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

一步一步搭建通信系统模型

Version 1.0

运用技术:卷积码编码 简易QPSK调制解调 viterbi译码(系统函数)

1> 随机生成基带数字信号0,1。

2> 对基带数字信号卷积编码。

3> 简易QPSK调制:只将卷积码两两映射为+1和-1,不与正弦信号相乘。

  11->+1+1; 01->-1+1; 00->-1-1; 10->+1-1

4> 产生0dBW的高斯白噪声,叠加到QPSK信号上。(此时白噪声功率1W,信号最大幅值也为1,误码率高)

5> 简易QPSK解调:门限0判决。

6> 卷积码Viterbi译码。

Version 1.1

添加:交织 解交织

1> 随机生成基带数字信号0,1。

2> 对基带数字信号卷积编码。

3> 交织(最好与信号长度匹配)。

4> 简易QPSK调制:只将卷积码两两映射为+1和-1,不与正弦信号相乘。

  11->+1+1; 01->-1+1; 00->-1-1; 10->+1-1

5> 产生0.26W的高斯白噪声,叠加到QPSK信号上。(信号最大幅值为1)

6> 简易QPSK解调:门限0判决。

7> 解交织。

8> 卷积码Viterbi译码。

Version 2.0(简单IS-95CDMA系统)

运用技术:卷积码编码 交织 DSSS扩频 解扩 解交织 viterbi译码(系统函数)

1> 随机生成基带数字信号0,1。

2> 对基带数字信号卷积编码。

3> 交织(最好与信号长度匹配)。

4> 直接序列扩频,将输入信号矩阵与PN码矩阵做矩阵乘积,每个输入信号拓展为PN码一个周期的长度(感觉不是正规的扩频做法,正规的应该有信号速率和PN码速率的要求)。

5> 产生1W的高斯白噪声,叠加到扩频信号上(暂时不考虑QPSK调制解调问题。用扩频的话噪声功率高很多,系统性能也是很好的)。

6> 简易解扩,用的是是与PN码矩阵相乘里面相加的过程。

7> 解交织。

8> 判决,大于0判1,小于等于0判0。

9> 卷积码Viterbi译码。

Version 3.0(简单OFDM系统1)

运用技术:16QAM调制(系统函数) IFFT(系统函数) 添加循环前缀CP AWGN信道 去除循环前缀 FFT 16QAM解调

1> 因为要做16QAM,随机生成16进制的基带数字信号0~15,经过16QAM星座图变换成复信号(星座图也有不同的编码方式,还有记得要除以归一化因子)。

2> 对每一个OFDM符号长度的复信号做IFFT。

3> 对每一个OFDM符号长度的时域复信号添加循环前缀CP。

4> 计算AWGN信道的噪声幅度,因为最开始已经假设了符号信噪比EbN0,可以由此计算出snr,再计算出噪声幅度n(计算公式略),最后再在信号的实部和虚部都加上噪声幅度为n的白噪声。

5> 去除每一个OFDM符号前面的循环前缀(感觉在AWGN信道中,循环前缀加了又去,没有起到作用啊)。

6> 对每一个OFDM符号长度的时域复信号做FFT。

7> 对所有接收到的信号做16QAM解调,最终恢复成16进制数。

8> 计算误比特数和总比特数,计算误比特率

9> 对于不同EbN0情况下,和标准误比特率做对比。

Version 3.1(简单OFDM系统2)

添加:通过多径瑞利衰减信道 信道补偿(均衡?)

1> 因为要做16QAM,随机生成16进制的基带数字信号0~15,经过16QAM星座图变换成复信号(星座图也有不同的编码方式,还有记得要除以归一化因子)。

2> 对每一个OFDM符号长度的复信号做IFFT。

3> 对每一个OFDM符号长度的时域复信号添加循环前缀CP。

4> 计算AWGN信道的噪声幅度,因为最开始已经假设了符号信噪比EbN0,可以由此计算出snr,再计算出噪声幅度n(计算公式略),最后再在信号的实部和虚部都加上噪声幅度为n的白噪声。

5>

6>

5> 去除每一个OFDM符号前面的循环前缀(感觉在AWGN信道中,循环前缀加了又去,没有起到作用啊)。

6> 对每一个OFDM符号长度的时域复信号做FFT。

7> 对所有接收到的信号做16QAM解调,最终恢复成16进制数。

8> 计算误比特数和总比特数,计算误比特率

9> 对于不同EbN0情况下,和标准误比特率做对比。

About

一步一步搭建通信系统模型

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages