总体仿真框图
信号输入:
clc;
clear;
[wavs,fs]=wavread('GDGvoice8000.wav');
t_end=1/fs*length(wavs);
t=(1/fs:1/fs:t_end)';
source=[t wavs];
通过workspace编写程序对模块进行信号输入,程序如上
系统参数设置:
首先将系统的仿真步进时长设置为 1/50000,即仿真采样频率为 50Khz,
对信号进行预滤波,这里采用 butter 带通滤波器频率设置为【300 3400】hz。
由于希尔伯特变换需要输入信号离散,所以将信号滤波之后进入一个零阶保
持器,将信号离散化,保持器采样时间与系统采样时间相同。同样的,由于
本地载波也需要希尔伯特变换,所以对本地载波也要进行离散化变化参数设
置同上。本地载波频率设置为(10KHz)初相位设置为 pi/2(为了得到 cos
信号),经过希尔伯特变化后进入一个实部和虚部的分离器,然后将二者实
部虚部分别相乘之后再相加就可以得到 SSB 调制信号。因为输出时需要的是
离散化的信号,所以要将乘法器的采样时间设置为 1/50000.。得到调制信号
之后就可以进行信道的加入噪声,将信号经过高斯白噪声信道(SNR 可以自
由设置,越大则对调制信号的影响越小)这里设置为 50。然后对信号进行想
干解调,为了能对比结果将想干解调的本地载波设置与源信号的本地载波有
所差距,这里设置为 9800Hz。最后通过一个与前一个相同的带通滤波器,
最后将解调后的信号输出。
输出:
wavwrite(demod_out,50000,'linkSSbDemod_OUT.wav');
这里输出也同样利用编程将信号输出到指定目录下,同时保存文件名为
linkSSbDemod_OUT.wav
音频文件
评论0
最新资源