首页 理论教育 升余弦脉冲型BPSK发射机设计

升余弦脉冲型BPSK发射机设计

时间:2023-06-23 理论教育 版权反馈
【摘要】:程序清单16.5:脉冲调制升余弦脉冲型工程程序代码的声明部分图1-3A4图纸标题栏和会签栏2.五角星的绘制如图1-4所示。对于BPSK而言,符号和比特位是一样的。第10行:声明变量output,它是BPSK调制器的输出数值。程序清单16.6:脉冲调制升余弦脉冲型工程程序代码的算法部分程序清单16.6的解释如下。这个特点是脉冲调制的最重要的优势。这实际上是将BPSK信号混频到12kHz。第27、28行:输出BPSK发射机信号的当前数值到左通道和右通道。

升余弦脉冲型BPSK发射机设计

程序清单16.5是程序代码的声明部分。在这里没有出现的是coeff.c文件,但它也是工程CCS的一个部分。这个文件包含Matlab输出的200阶升余弦FIR滤波器的系数。

程序清单16.5:脉冲调制升余弦脉冲型工程程序代码的声明部分

978-7-111-33881-9-Part02-153.jpg

程序清单16.5的解释如下。

(1)第1行:声明和初始化counter变量,这个变量用于表示算法处理的当前符号位相对于符号的开始位(0)和符号的终止位(19)的相对位置。

(2)第2行:声明和起始化samplesPerSymbol变量。从它的名字可以看出,它表示一个符号中的采样数。对于BPSK而言,符号和比特位是一样的。

(3)第3行:声明symbol变量,它是当前比特位的数值(0或者1)。

(4)第4行:声明和起始化跟0与1相联系的双极变量。

(5)第5行:声明和起始化变量cosine,它包含所有12kHz余弦载波的所有可能的本振数值。

(6)第6行:声明变量i,用于点乘操作的序数。

(7)第8行:声明变量x,用于存储当前和过去信息位的数值。

(8)第9行:声明变量y,用于脉冲调至的当前输出数值。(www.xing528.com)

(9)第10行:声明变量output,它是BPSK调制器的输出数值。

程序清单是算法部分的程序代码。

程序清单16.6:脉冲调制升余弦脉冲型工程程序代码的算法部分

978-7-111-33881-9-Part02-154.jpg

程序清单16.6的解释如下。

(1)第2~5行:每个符号创建一个随机的二进制数,并把这个二进制数映射到允许的电平。它的数值在后面的20个采样中保持不变。

(2)第8~12行和第18~20行:执行和脉冲调制器相关的FIR滤波操作。矢量B包含升余弦滤波器的系数,它是使用Matlab rcosfir函数产生并输出的。虽然实现了一个高达200阶滤波器,但是只需要10个乘法,这是因为所有的其他乘法都有0这个乘数。这些乘法操作在输出未知的情况下也不需要执行。这个特点是脉冲调制的最重要的优势。

(3)第14、15行:当计数器等于19,算法达到符号的终端。在这点,计数器重置并开始下一个符号周期。

(4)第23行:变量counter加1为下一次ISR做准备。

(5)第25行:计算当前信息数值和本振的数值的乘积。这实际上是将BPSK信号混频到12kHz。

(6)第27、28行:输出BPSK发射机信号的当前数值到左通道和右通道。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈