⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 modulator.m

📁 Matlab 模拟 CDMA 直接扩频。m序列生成矩阵为p(x) = 1 + x^5 + x^7 + x^8 + x^9 + x^13 + x^15。能画出每阶段的时域、频域图。
💻 M
字号:
%% Made by Zheng Xiao (052815 05b04)%% Group Member: Ji Yue, Sun Xin, Zheng Xiao%clear% Generate Signal%M = 16; %-the number of Sample per Period in input signalN = 32; %-the number of Sample per Period in BPSK Modulated signalM = 64; %-the number of Sample per Period in input signalP1 = [0 5 7 8 9 13 15];P2 = [0];%tk = 0:1/M:(1024/M);%input = sin(2*pi*tk) + cos(pi*tk);%ratio = max(input);%input = input/ratio;% A-law PCM encode% Lengthen PCM code%%pcmCode = [1];original=[1 1 0 1 0]; % User Codestem(original);title('User Code');pausenOriginal = length(original);pcmCode=expand_bit(original);%must be 64xN lengthkey1 = genM(M,P1);%autocorrelation(genBipolar(key1)); % 画图: generated m-sequence (3000点)m = genBipolar(genM(3000,P1));mx = -length(m)+1:length(m)-1;stem(mx,xcorr(m,m));title('Auto-Correlation');xlabel('Lags');ylabel('Auto-Correlation')pausepcmCode=xor(pcmCode,periodExpand(key1,nOriginal));pcmCode = genBipolar(pcmCode); % 转换为双极性码npcmCode = length(pcmCode); %-number of total symbolpcmCode = [pcmCode;zeros((N-1),npcmCode)];pcmCode = reshape(pcmCode,1,N*npcmCode);pcmCode = conv(pcmCode,ones(1,N));pcmCode = pcmCode(1:N*npcmCode);% BPSK Modulationtk = 0:1/N:(1-1/N);carrier = sin(4*pi*tk);carrier = padarray(carrier,npcmCode-1,'circular','post');carrier = reshapeSeq(carrier);signal = carrier .* pcmCode; %<= THIS IS THE MODULATED SIGNALplot(signal);xlabel('Time');ylabel('Voltage');title('BPSK Modulated Signal');axis([600 900 min(signal) max(signal)]);pause%%%%% Here comes through the channel %%%%%%=================[Media]================%signal = addNoise(signal,sqrt(5)/5);plot(signal)xlabel('Time');ylabel('Voltage');title('BPSK Modulated Signal (added Noise)');axis([600 900 min(signal) max(signal)]);pause% BPSK DemodulationsignalIn = signal .*carrier; %<= INPUT SIGNAL OF DEMODULATOR %plot(signalIn)judger = reshapeColumn(signalIn,N);judger = sum(judger,2);judger(find(judger>=0)) = 0; % 转化为单极性judger(find(judger<0)) = 1;judger = judger';nFinal = length(judger)/M;final = xor(judger, periodExpand(key1,nFinal));finalFinal = finalJudge(final,M); % the final outputstem(finalFinal);title('Decoded Codes');% A-law PCM decode%output = pcm_decode(judger).*ratio;%axis([0,102,-ratio,+ratio])%input = input*ratio;%err = output - input;%plot(1:length(output),output,1:length(input),input, 1:length(err),err)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -