2014 dxdy logo

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

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




Начать новую тему Ответить на тему
 
 скремблирование помогите поменять
Сообщение08.06.2009, 11:22 


31/03/09
4
Код:
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 


31/03/09
4
Код:
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 


29/05/06
92
Перевести logical в double функцией double()

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group