2 개의 사용자의 CDMA - OFDM이 (엠씨 - CDMA의) 코드

M

moneer

Guest
안녕
스피 어 뭐하는 - OFDM이의 CDMA MATLAB 코드.
문제는 내가 잘못된 사용자를 시뮬레이트 2 데이터는 다 잡아받은 경우 또는 시도 raylighy 채널을 사용하여 시뮬레이션할 수 있습니다.난 어차피 내가 코드를 도울 수 하나면 어떤 결정 뭐가 잘못된거야
감사

% %의 코드
CLC
이상무
주변의 모든
김포 = 64;
= user1의 randint (16, 1, 2)
user2 = randint (16, 1, 2);
% 만들기 BPSK 모드 - demod 개체
피 = 2; %의 변조 순서
bpskmod = modem.pskmod ( '남', 피 '를 SymbolOrder', '그레이');
bpskdemod은 =) modem.pskdemod (bpskmod;
user1tx은 =) 변조 bpskmod를 user1의 (; %의 BPSK 변조를
user2tx은 =) 변조 bpskmod를 user2 (;
user1_ofdm = ifft (16 user1tx,);
user2_ofdm = ifft (16 user2tx,);
pn1 = [1; -1; 1; -1; 1; 1; 1; -1];
pn2 = [-1; 1; -1; 1; -1; -1; -1; 1];
user1spread = rectpulse (user1_ofdm, 김포);
user2spread = rectpulse (user2_ofdm, 김포);
user1pn = rectpulse (pn1, 2 * 김포);
user2pn = rectpulse (pn2, 2 * 김포);
tx1 = user1spread user1pn .*;
tx2 = user2spread user2pn .*;
레크 리에이션 = (tx1 tx2);
user1rec = 레크 리에 user1pn .*;
user1down = intdump (김포 user1rec,);
user1_fft = fft (user1down, 16);
user1rx은 = (demodulate bpskdemod, user1down)

 
pn은 직교 시퀀스보다 오히려 정반대로 당신은 사용하는 것 같습니다.한게 문제가 있습니다.와 비 직교 코드 멀티 플렉스 안 돼 제대로

시퀀스를보십시오 월쉬의, 그것은 작동합니다등록일 초 후에 55 :보고는별로 사라를 통해 먹으렴 가지고 내가 가장 명백한 실수를, 같이 일하는 그렇게한다면 그것은 모든 것은 다른 사람이 잘 나서,등록일 초 후에 42 :여기에면, 그들이 가지고 더 이상 질문을 게시 '

 
Communications_Engineer 작성 :

pn 당신은 정반대보다는 직교 것 같습니다 사용하는 시퀀스.
한게 문제가 있습니다.
비 직교 코드와 안 돼 제대로 멀티 플렉스월쉬 시퀀스를 시도, 그것은 작동합니다
등록일 초 후에 55 :
봐, 내가 정말하고 다니진 못했 가장 눈에 띄는 실수를 먹으렴, 모든 것은 다른 좋아요, 그럼 그것은 잘 작동한다 만일
등록일 초 후에 42 :
더 이상 질문을 게시 '그들이 여기에있다면
 
재현해 주셔서 감사합니다
난하지만 hadamard 시도 코드 결과는 동일합니다 아직

% %는 코드를 수정
CLC
이상무
주변의 모든
김포 = 64; % 확산 계수
= user1의 randint (1, 16, 2)
user2 = randint (1, 16, 2);
% 만들기 BPSK 모드 - demod 개체
피 = 2; %의 변조 순서
bpskmod = modem.pskmod ( '남', 피 '를 SymbolOrder', '그레이');
bpskdemod은 =) modem.pskdemod (bpskmod;
user1tx1은 =) 변조 bpskmod를 user1의 (; %의 BPSK 변조를
user2tx1은 =) 변조 bpskmod를 user2 (; %의 BPSK 변조를
user1tx은 =) 바꿀 (user1tx1, 길이 (user1tx1), 1;
user2tx은 =) 바꿀 (user2tx1, 길이 (user2tx1), 1;
user1_ofdm1 = ifft (user1tx, 16);
user2_ofdm1 = ifft (user2tx, 16);
user1_ofdm는 = 길이 바꿀 (user1_ofdm1, 1, (user1_ofdm1));
user2_ofdm는 = 길이 바꿀 (user2_ofdm1, 1, (user2_ofdm1));
H는 = hadamard (8);
pn1 = H는 (1, :);
pn2 = H는 (2, :);
user1spread = rectpulse (user1_ofdm, 김포);
user2spread = rectpulse (user2_ofdm, 김포);
user1pn = rectpulse (pn1, 2 * 김포);
user2pn = rectpulse (pn2, 2 * 김포);
tx1 = user1spread user1pn .*;
tx2 = user2spread user2pn .*;
레크 리에이션 = awgn (tx1 tx2, 10);
user1rec = 레크 리에 user1pn .*;
user1down = intdump (김포 user1rec,);
user1_fft = fft (user1down, 16);
user1rx은 = (demodulate bpskdemod, user1_fft)
user2rec = 레크 리에 user2pn .*;
user2down = intdump (김포 user2rec,);
user2_fft = fft (user2down, 16);
user2
user2rec은 = (demodulate bpskdemod, user2_fft)

 
hadamard (친애하는 친구가 사용하는 말을하지만, SF = 64 8) 즉, SF = 8

 
내가 finction 생각을 사용하는 데 사용되는 내가 작업을 수행할 확산에 "기능"을 rectpulse 그것은 사용하지 않는 올바른 "kron"내가 기능을 가지고 BER에 대해 0이 이용할 수 있습니까.
그것을 시도하십시오.

감사합니다

 
당신을 다시 감사드립니다
위해 OFDM이 기능과 fft의 난 그렇게해야 더 많은 작품을 OFDM이가 제거된 그들을 완료할 때까지 내가 어떻게 그것을 ifft이라고 사용하여 코드 내의 문제가.
와 AWGN 채널 괜찮다고 합니다만 프로그램 작업 문제는 지금 내가 잘못된 신호를 내가받을 채널을 삽입 레일리 페이딩
와 레일리 채널 코드 %예요
CLC
이상무
주변의 모든
김포 = 128; % 확산 계수
= user1의 randint (1, 16, 2)
user2 = randint (1, 16, 2);
% 만들기 BPSK 모드 - demod 개체
피 = 2; %의 변조 순서
bpskmod = modem.pskmod ( '남', 피 '를 SymbolOrder', '그레이');
bpskdemod은 =) modem.pskdemod (bpskmod;
user1tx1은 =) 변조 bpskmod를 user1의 (; %의 BPSK 변조를
user2tx1은 =) 변조 bpskmod를 user2 (; %의 BPSK 변조를
H는 = hadamard (128);
pn1 = H는 (1, :);
pn2 = H는 (2, :);
user1spread = rectpulse (user1tx1, 김포);
user2spread = rectpulse (user2tx1, 김포);
user1pn = repmat (pn1, 1, 16);
user2pn = repmat (pn2, 1, 16);
tx1 = user1spread user1pn .*;
tx2 = user2spread user2pn .*;
브이 = 0.001 *의 Sqrt (0.5) * (randn (1,2048) 1 난 *의 randn (1,2048));
레크 리에이션 = awgn ((tx1. * 브이 tx1 .* 브이), 10);
user1rec = 레크 리에 user1pn .*;
user1down = intdump (김포 user1rec,);
user1rx은 = (demodulate bpskdemod, user1down)
user2rec = 레크 리에 user2pn .*;
user2down = intdump (김포 user2rec,);
user2
user2rx은 = (demodulate bpskdemod, user2down)

 

Welcome to EDABoard.com

Sponsor

Back
Top