2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 скремблирование помогите поменять
Сообщение08.06.2009, 11:22 
Код:
clear;                          %очистка рабочей области
clc;
D = 1000;
N=6*D;
n=15;                      %параметры кодирования 
k=5;                     
M = 16;
Fd = 1;
FsFd = 40;                      %отношение Fs/Fd
Fs = Fd*FsFd;                   %частота дискретизации
Fc = 4*Fd;                      % несущая частота
msg = randint(N,1,2); % Случайные данные
genpoly = cyclpoly(n,k);
code = encode(msg,n,k,'cyclic/binary',genpoly); % Кодирование
intrlvd = randintrlv(code,n); % Перемежение

scr = intrlvd;
for i = 2:D
scr(6*i-6:6*i) = scramblerflip(scr(6*i-6:6*i));
end

buf = buffer(scr,4)';
buf1 = bi2de(buf);

[s_qask,t]=dmod(buf1,Fc,Fd,Fs,'qask',M); %модуляция

snr = -10:20;                   % вектор отношений С/Ш (в децибелах)
for k1 = 1:length(snr)
sn = awgn(s_qask, snr(k1), 'measured'); % добавляем шум

dsy=ddemod(sn,Fc,Fd,Fs,'qask',M);
debuf1 = de2bi(dsy);
for j = 0:(length(debuf1)-1)
    debuf(j*4+1:j*4+4) = debuf1(j+1,1:4);
end

descr = debuf';
for i = 2:D
descr(6*i-6:6*i) = scramblerflip(descr(6*i-6:6*i));
end

deintrlvd = randdeintrlv(descr(1:length(intrlvd)),n); % Деперемежение
decod = decode(deintrlvd,n,k,'cyclic/binary'); % Декодирование

decod = decod(1:length(msg));
tblen = 0;
[n1(k1),r1(k1)] = biterr(decod(tblen+1:length(msg)),msg(1:length(msg)-tblen));

end
semilogy(snr, r1);            % вывод графика

уважаемые как поменять скремблирование... вот преподаватель заставил не могу ни как по другому реализовать.

 
 
 
 Re: скремблирование помогите поменять
Сообщение11.06.2009, 20:24 
Код:
clear; clc;
n=15;
m=10;
psp=randint(m,n,2) %формирование ПСП с заданной матрицей m x n
signal=randint(m,n,2) %формирование сигнала с заданной матрицей m x n
scr=xor(signal,psp) % произведем суммирование по модулю 2 исходных матриц
descr=xor(scr,psp) % зная исходную ПСП восстановим скремблированный сигнал
prov = signal-descr % если в результате преобразования получилась нулевая матрица, то процедура
%скремблирования и дескремблирования проведена успешно

Как то вот так, только что делать с
Код:
xor
ибо не хочет мат лаб логический тип данных жевать,вычислять. Из за этого не может промодулировать. :arrow: Уважаемые дайте мысль

 
 
 
 Re: скремблирование помогите поменять
Сообщение06.07.2009, 19:58 
Перевести logical в double функцией double()

 
 
 [ Сообщений: 3 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group