资源描述:
《通信原理课程设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、通信原理课程设计07通信2班吴应钦0715232025%%Setup%Defineparameters.M=16;%Sizeofsignalconstellationk=log2(M);%Numberofbitspersymboln=5e5;%Numberofbitstoprocessnsamp=4;%Oversamplingrate%%SignalSource%Createabinarydatastreamasacolumnvector.x=randint(n,1);%Randombinarydatastream%Plotfirst60bitsinastemplot.stem(
2、x(1:60),'filled');title('RandomBits');xlabel('BitIndex');ylabel('BinaryValue');%%Encoder%Defineaconvolutionalcodingtrellisanduseit%toencodethebinarydata.t=poly2trellis([54],[23350;0513]);%Trelliscode=convenc(x,t);%Encode.coderate=2/3;%%Bit-to-SymbolMapping%Convertthebitsinxintok-bitsymbols,us
3、ing%Graycoding.%A.Defineavectorformappingbitstosymbolsusing%Graycoding.Thevectorisspecifictothearrangement%ofpointsina16-QAMconstellation.mapping=[0132457612131514891110].';%B.Doordinarybinary-to-decimalmapping.xsym=bi2de(reshape(code,k,length(code)/k).','left-msb');%C.MapfrombinarycodingtoGr
4、aycoding.xsym=mapping(xsym+1);%%StemPlotofSymbols%Plotfirst10symbolsinastemplot.figure;%Createnewfigurewindow.stem(xsym(1:35));title('RandomSymbols');xlabel('SymbolIndex');ylabel('IntegerValue');%%Modulation%Modulateusing16-QAM.y=modulate(modem.qammod(M),xsym);%%FilterDefinition---rootraisedc
5、osinefilter%Definefilter-relatedparameters.filtorder=40;%Filterorderdelay=filtorder/(nsamp*2);%Groupdelay(#ofinputsamples)rolloff=0.25;%Rollofffactoroffilter%Createasquarerootraisedcosinefilter.rrcfilter=rcosine(1,nsamp,'fir/sqrt',rolloff,delay);%Plotimpulseresponse.figure;impz(rrcfilter,1);%
6、%TransmittedSignal%Upsampleandapplysquarerootraisedcosinefilter.ytemp=upsample(y,4)ytx=rcosflt(y,1,nsamp,'filter',rrcfilter);subplot(2,1,1);stem(real(ytemp(1:120)));holdon;s=1:120;plot(s,real(ytx(21:140)),'r');holdoff;title('transmittedSignal,BeforeandAfterFiltering---real');xlabel('Sample');
7、ylabel('Amplitude');legend('BeforeRRC','AfterRRC');axis([0120-55]);%Setaxisranges.subplot(2,1,2);stem(imag(ytemp(1:120)));holdon;plot(s,imag(ytx(21:140)),'r');holdoff;title('transmittedSignal,BeforeandAfterFiltering---imag');xlabel('Sample');