主要内容

寻找编码和过滤信号延迟

确定卷积编码的延迟和过滤链接。使用延迟的精确确定一些错误的数量。

创建一对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