调制和脉冲整形滤波的例子
矩形脉冲整形
矩形脉冲形成重复每一个调制器的输出一个固定的次数来创建一个upsampled信号。虽然不如其他种类的脉冲整形,现实的矩形脉冲整形可以是一个或一个探索性步骤算法发展的第一步。如果发射机upsamples调制信号,接收机解调之前应该downsample接收信号。这段代码使用rectpulse
函数在发射机和矩形脉冲整形intdump
函数将采样接收机。集成和转储操作downsample接收到的信号的一种方法。
定义模拟变量和创建一个随机数字信息。
M = 16;%字母大小,16-QAMNsamp = 4;%过采样率信噪比= 15;在dB %信号噪声比x =兰迪([0 m - 1], 5000 1);%的消息信号
应用16-QAM调制和矩形脉冲整形。通过一个AWGN信道传输的信号。
y = qammod (x, M);ypulse = rectpulse (y, Nsamp);ynoisy = awgn (ypulse 15“测量”);
Downsample接收机。使用一个简介
比较脉冲状传播信号之前和之后的情况。
ydownsamp = intdump (ynoisy Nsamp);sa1 =简介(…Title =“与矩形脉冲整形16-QAM信号”,…ChannelNames = {没有噪音的,“信噪比= 15分贝”});sa1 (ypulse ynoisy)
解调恢复消息。
z = qamdemod (ydownsamp, M);
使用提出了余弦滤波器脉冲整形
使用一对平方根过滤16-QAM信号提出了余弦匹配过滤器。情节的眼图和散点图的信号。后通过AWGN信道传递信号,计算有点错误的数量。
设置仿真参数。
M = 16;%调制顺序个基点= log2 (M);%比特/符号n = 20000;%传输比特sps = 4;每个符号%样本EbNo = 10;% Eb /不(dB)
设置滤波器参数。
跨度= 10;%过滤器跨符号滚边= 0.25;%滚边的因素
创建了余弦传输和接收过滤器使用前面定义的参数。
txfilter = comm.RaisedCosineTransmitFilter (…RolloffFactor =滚边,…FilterSpanInSymbols =跨度,…OutputSamplesPerSymbol = sps);rxfilter = comm.RaisedCosineReceiveFilter (…RolloffFactor =滚边,…FilterSpanInSymbols =跨度,…InputSamplesPerSymbol = sps,…DecimationFactor = sps);
情节提出了余弦发送滤波器的脉冲响应对象txFilter
。
fvtool (txfilter分析=“冲动”)
通过匹配滤波器计算延迟。滤波器的群时延是半跨通过一个过滤器,因此,等于过滤器的过滤跨度。乘以每个符号的比特数的延迟。
filtDelay = bps *跨度;
创建一个错误率计数器系统对象™。设置ReceiveDelay
房地产占延迟通过匹配过滤器。
errorRate = comm.ErrorRate (ReceiveDelay = filtDelay);
生成二进制数据。
x =兰迪([0,1],n, 1);
调整数据。
modSig = qammod (x, M, InputType =“一点”);
筛选调制信号。
txSig = txfilter (modSig);
情节的眼图第一个1000个样本。
eyediagram (txSig (1:1000), sps)
计算信噪比(信噪比)的数据库EbNo
。通过传播信号通过AWGN信道使用情况下
函数。
信噪比= EbNo + 10 * log10 (bps) - 10 * log10 (sps);noisySig = awgn (txSig,信噪比,“测量”);
过滤噪声信号,显示其散点图。
rxSig = rxfilter (noisySig);散点图(rxSig)
过滤信号解调和计算误差的统计数据。延迟通过过滤器所占ReceiveDelay
财产errorRate
。
z = qamdemod (rxSig, M, OutputType =“一点”);errStat = errorRate (x, z);流(' \ nBER = % 5.2 e \ nBit错误= % d \ nBits传播= % d \ n ',…errStat)
数量= 1.85 = 37位传播= 19960 e 03一点错误