寻找编码和过滤信号延迟
确定卷积编码的延迟和过滤链接。使用延迟的精确确定一些错误的数量。
创建一对QPSK调制器和解调器。指定对象的操作。
qpskmod = comm.QPSKModulator (“BitInput”,真正的);qpskdemod = comm.QPSKDemodulator (“BitOutput”,真正的);
创建一个发送和接收滤波器对余弦。
txfilt = comm.RaisedCosineTransmitFilter;rxfilt = comm.RaisedCosineReceiveFilter;
创建一个卷积编码器和维特比译码器。
convEnc = comm.ConvolutionalEncoder;vitDec = comm.ViterbiDecoder (“InputFormat”,“硬”);
生成随机二进制数据。卷积编码数据。
txData =兰迪([0,1],1000,1);encData = convEnc (txData);
调制编码数据。通过通过提出了余弦调制数据传输过滤器。
modSig = qpskmod (encData);txSig = txfilt (modSig);
通过过滤后的信号通过一个AWGN信道。
rxSig = awgn (txSig 20“测量”);
过滤然后解调接收信号。
filtSig = rxfilt (rxSig);demodSig = qpskdemod (filtSig);
解调解码数据。
rxData = vitDec (demodSig);
找到之间的延迟二进制数据的发送和接收finddelay
函数。
td = finddelay (txData rxData)
td = 44
确认计算延迟匹配预期的延迟,等于群延迟的和匹配的维特比译码器的过滤器和回溯的深度。
tdexpected = (txfilt。FilterSpanInSymbols + rxfilt.FilterSpanInSymbols) / 2 +…vitDec.TracebackDepth;tdexpected isequal (td)
ans =逻辑1
计算丢弃过去的一些错误的数量道明
部分传输序列和丢弃道明
从接收到的比特序列。
numErrors = biterr (txData (1: end-td) rxData (td + 1:结束)
numErrors = 0