2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Построение схем модулятора и демодулятора КАМ-16 в MatLab
Сообщение06.05.2013, 12:49 
Аватара пользователя


09/02/10

64
Приднестровье, Тирасполь
Здравствуйте!
Помогите пожалуйста с этой задачей. Уже очень долго роюсь в инете и не могу никак найти решение этого вопроса. Да структурный схемы модуляторов и демодуляторов есть, но они в теории, а как это сделать на практике к примеру в MatLab от начала и до конца?
Буду очень признателен за ваши комментарии и ссылки! Помогите очень нужно!

 Профиль  
                  
 
 Re: Построение схем модулятора и демодулятора КАМ-16 в MatLab
Сообщение06.05.2013, 21:11 
Модератор
Аватара пользователя


16/02/11
3788
Бурашево
А подавайте сюда структурные схемы модуляторов и демодуляторов! И что значит "сделать в матлабе от начала и до конца"? Это будет программа? Каковы входные данные? Способ их ввода? Каковы выходные данные? Способ их вывода? Чтобы вам смогли помочь придётся потрудиться и объяснить что Вы хотите сделать.

 Профиль  
                  
 
 Re: Построение схем модулятора и демодулятора КАМ-16 в MatLab
Сообщение07.05.2013, 20:03 
Аватара пользователя


09/02/10

64
Приднестровье, Тирасполь
Согласен.
Схему хочу составить в Simulink.
Сигнал F(t) c квадратурной амплитудной модуляцией (КАМ) описывается следующим выражением:

$% MathType!Translator!2!1!LaTeX.tdl!LaTeX 2.09 and later!
% MathType!MTEF!2!1!+-
% feaagCart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn
% hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr
% 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq-Jc9
% vqaqpepm0xbba9pwe9Q8fs0-yqaqpepae9pg0FirpepeKkFr0xfr-x
% fr-xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamOramaabm
% aabaGaamiDaaGaayjkaiaawMcaaiabg2da9iaadMeaciGGJbGaai4B
% aiaacohadaqadaqaaiaadEhadaWgaaWcbaGaam4yaaqabaGccaWG0b
% Gaey4kaSIaamOAaaGaayjkaiaawMcaaiabgUcaRiaadgfaciGGZbGa
% aiyAaiaac6gadaqadaqaaiaadEhadaWgaaWcbaGaam4yaaqabaGcca
% WG0bGaey4kaSIaamOAaaGaayjkaiaawMcaaiabg2da9iaadUeaciGG
% JbGaai4BaiaacohadaqadaqaaiaadEhadaWgaaWcbaGaam4yaaqaba
% GccaWG0bGaey4kaSIaamOAaiabgUcaRiaadghaaiaawIcacaGLPaaa
% caGGSaaaaa!5CF0!
\[F\left( t \right) = I\cos \left( {{w_c}t + j} \right) + Q\sin \left( {{w_c}t + j} \right) = K\cos \left( {{w_c}t + j + q} \right),\]% MathType!End!2!1!
$

$% MathType!Translator!2!1!LaTeX.tdl!LaTeX 2.09 and later!
% MathType!MTEF!2!1!+-
% feaagCart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn
% hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr
% 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq-Jc9
% vqaqpepm0xbba9pwe9Q8fs0-yqaqpepae9pg0FirpepeKkFr0xfr-x
% fr-xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaam4saiabg2
% da9maakaaabaGaamysamaaCaaaleqabaGaaGOmaaaakiabgUcaRiaa
% dgfadaahaaWcbeqaaiaaikdaaaaabeaakiaacYcacaWGXbGaeyypa0
% JaamyyaiaadkhacaWGJbGaamiDaiaadEgadaWcaaqaaiaadgfaaeaa
% caWGjbaaaaaa!4550!
\[K = \sqrt {{I^2} + {Q^2}} ,q = arctg\frac{Q}{I}\]% MathType!End!2!1!
$
где I и Q – синфазная и квадратурная составляющие модулирующего сигнала.

А сама схема модулятора и демодулятора
Изображение Изображение

По модулятору вопрос в составлении схемы преобразователя вх цифрового сигнала или кодера манипуляционного кода. И по демодулятору есть вопросы.
Как эти схемы реализовать в Simulink?
Входные данные представлены случайной двоичной последовательностью. Можно представить в виде блока Random Integer Generator.

Конечно можно все решить при помощи блоков Rectangular QAM Modulator/Demodulator Baseband, но я хотел все сделать на элементарных блоках.

 Профиль  
                  
 
 Re: Построение схем модулятора и демодулятора КАМ-16 в MatLab
Сообщение13.05.2013, 11:15 
Аватара пользователя


09/02/10

64
Приднестровье, Тирасполь
Вот нашел один источник, вот только книгу не удалось скачать MATLAB/Simulink for Digital Communication authored by Won Y. Yang et. al, в доступе только несколько страниц, но и этого может достаточно. У кого есть данная книга поделитесь.

Вот интересующая нас страничка
Изображение
Изображение
Изображение

Модулятор удалось сделать, а вот демодулятор пока нет...
вот что удалось сделать http://yadi.sk/d/a2aj6wB24mXG0 (ссылка на файл), посмотрите пожалуйста.
Вопросы следующие:
- как задавать в блоках постоянные типа Ts, wc и Ns ? чтобы не прописывать их цифрами;
- как настроить блоки демодулятора, а в частности Windowed Integrator, Downsample и другие ?;
- какую формулу и как прописать в блоке Embedded MATLAB Function ?.

Эта схема без преобразователя вх. цифрового сигнала как показано на предыдущей схеме, но пока думаю разобраться в этом, а потом идти дальше.

 Профиль  
                  
 
 Re: Построение схем модулятора и демодулятора КАМ-16 в MatLab
Сообщение20.05.2013, 20:41 
Аватара пользователя


09/02/10

64
Приднестровье, Тирасполь
Неужели нет никого, кто бы разбирался в данной тематике?
Если нужна еще какая информация пишите, я хочу разобраться в данном вопросе.

 Профиль  
                  
 
 Re: Построение схем модулятора и демодулятора КАМ-16 в MatLab
Сообщение21.05.2013, 12:59 


14/01/11
3065
Что-то похожее есть среди примеров в Simulink.

 Профиль  
                  
 
 Re: Построение схем модулятора и демодулятора КАМ-16 в MatLab
Сообщение21.05.2013, 18:03 
Аватара пользователя


09/02/10

64
Приднестровье, Тирасполь
Возможно и есть, только я как-то не заметил) подскажите где мне посмотреть?

 Профиль  
                  
 
 Re: Построение схем модулятора и демодулятора КАМ-16 в MatLab
Сообщение21.05.2013, 18:55 
Аватара пользователя


06/08/09
127
Украина
На rutrcer.org есть целый пакет книг по MatLab объемом почти 5 гиг. Там очень много книг по Simulink, причем на русском языке. Зайдите и посмотрите. Может что-то подойдет. Там кстати точно есть книги тех авторов, что вы указывали.

 Профиль  
                  
 
 Re: Построение схем модулятора и демодулятора КАМ-16 в MatLab
Сообщение21.05.2013, 21:42 
Аватара пользователя


09/02/10

64
Приднестровье, Тирасполь
Vova_Gidro, спасибо вам за совет. Я знал что таковой имеется, но пока не скачивал этот объем книг, потому как в списке не нашел ту которую приводил раньше.
Честно говоря хотелось пообщаться напрямую с человеком который в этом мог бы мне помочь, говорю это потому, что как-то читал подобную литературу и особенно не получил от этого результат.
Возможно как-нибудь и придется сесть за это дело если не найду помощи.
Потому как нужен практический совет, а его пока нет.

 Профиль  
                  
 
 Re: Построение схем модулятора и демодулятора КАМ-16 в MatLab
Сообщение22.05.2013, 07:51 


14/01/11
3065
Прошу прощения, то, что я имел в виду, опиралось на готовые блоки QAM.

 Профиль  
                  
 
 Re: Построение схем модулятора и демодулятора КАМ-16 в MatLab
Сообщение23.05.2013, 08:39 
Аватара пользователя


09/02/10

64
Приднестровье, Тирасполь
Sender, я Вас понял.
Я хочу собрать схему модулятора и демодулятора именно на элементарных блоках, по приведенному примеру из книги MATLAB/Simulink for Digital Communication authored by Won Y. Yang et. al
Но пока немного не выходит, может у кого есть другой пример?

 Профиль  
                  
 
 Re: Построение схем модулятора и демодулятора КАМ-16 в MatLab
Сообщение04.06.2013, 21:11 
Аватара пользователя


09/02/10

64
Приднестровье, Тирасполь
up

 Профиль  
                  
 
 Re: Построение схем модулятора и демодулятора КАМ-16 в MatLab
Сообщение17.06.2013, 14:24 
Аватара пользователя


09/02/10

64
Приднестровье, Тирасполь
Так никого и нет...
никто не может помочь

 Профиль  
                  
 
 Re: Построение схем модулятора и демодулятора КАМ-16 в MatLab
Сообщение07.04.2014, 16:16 
Аватара пользователя


09/02/10

64
Приднестровье, Тирасполь
Всем привет!
Нужен совет от любителей MatLab.
Вот часть программы
% Alamouti_scheme.m
N_frame=130; N_packet=4000;NT=2; NR=1; b=2; SNRdBs=[0:2:30]; sq_NT=sqrt(NT); sq2=sqrt(2);
for i_SNR=1:length(SNRdBs)
SNRdB=SNRdBs(i_SNR);
sigma=sqrt(0.5/(10^(SNRdB/10)));
for i_packet=1:N_packet
msg_symbol=randint(N_frame*b,NT);
tx_bits=msg_symbol.'; tmp=[]; tmp1=[];
for i=1:NT
[tmp1,sym_tab,P]=modulator(tx_bits(i,:),b); tmp=[tmp; tmp1];
end
X=tmp.'; X1=X; X2=[-conj(X(:,2)) conj(X(:,1))];
for n=1:NT
и т.д.

Matlab не понимает функцию modulator(tx_bits(i,:),b), может это старая функция которую не понимает мой Matlab. А может и что-то иное...
Предварительно данная функция не прописана...

-- Пн апр 07, 2014 15:37:18 --

или может заменить эту неизвестную функцию, функцией определяющей вид модуляции?

 Профиль  
                  
 
 Re: Построение схем модулятора и демодулятора КАМ-16 в MatLab
Сообщение08.04.2014, 12:49 
Аватара пользователя


09/02/10

64
Приднестровье, Тирасполь
Вот полный текст программы:
N_frame=130; N_packet=4000;
b=2;% Set to 1/2/3/4 for BPSK/QPSK/16QAM/64QAM
NT=1;
NR=2;% Numbers of Tx/Rx antennas
SNRdBs=[0:2:20]; sq_NT=sqrt(NT);
sq2=sqrt(2);
for i_SNR=1:length(SNRdBs)
SNRdB=SNRdBs(i_SNR);
sigma=sqrt(0.5/(10^(SNRdB/10)));
for i_packet=1:N_packet
msg_symbol=randint(N_frame*b,NT);
[temp,sym_tab,P]=modulator(msg_symbol.’,b);
X=temp.’;
Hr = (randn(N_frame,NR)+j*randn(N_frame,NR))/sq2;
H= reshape(Hr,N_frame,NR); Habs=sum(abs(H).^2,2); Z=0;
for i=1:NR
R(:,i) = sum(H(:,i).*X,2)/sq_NT ...
+ sigma*(randn(N_frame,1)+j*randn(N_frame,1));
Z = Z + R(:,i).*conj(H(:,i));
end
for m=1:P
d1(:,m) = abs(sum(Z,2)-sym_tab(m)).^2 ...
+ (-1+sum(Habs,2))*abs(sym_tab(m))^2;
end
[y1,i1] = min(d1,[],2);
Xd=sym_tab(i1).’;
temp1 = X>0;
temp2 = Xd>0;
noeb_p(i_packet) = sum(sum(temp1?=temp2));
end
BER(i_SNR) = sum(noeb_p)/(N_packet*N_frame*b);
end % end of FOR loop for SNR
semilogy(SNRdBs,BER), grid on, axis([SNRdBs([1 end]) 1e-6 1e0])


Вопрос: Непонятна строка [temp,sym_tab,P]=modulator(msg_symbol.’,b);. Такой функции modulator не нашел... И еще это [temp,sym_tab,P] что означает?

-- Вт апр 08, 2014 12:12:43 --

Следом идет программа
function [mod_symbols,sym_table,M]=modulator(bitseq,b)
N_bits=length(bitseq);sq10=sqrt(10);
if b==1
% BPSK modulation
sym_table=exp(j*[0 -pi]); sym_table=sym_table([1 0]+1);
inp=bitseq; mod_symbols=sym_table(inp+1); M=2;
elseif b==2
% QPSK modulation
sym_table=exp(j*pi/4*[-3 3 1 -1]);sym_table=sym_table([0 1 3 2]+1);
inp=reshape(bitseq,b,N_bits/b);
mod_symbols=sym_table([2 1]*inp+1);
M=4;
elseif b==3
% generates 8-PSK symbols
sym_table=exp(j*pi/4*[0:7]);
sym_table=sym_table([0 1 3 2 6 7 5 4]+1);
inp=reshape(bitseq,b,N_bits/b);
mod_symbols=sym_table([4 2 1]*inp+1);
M=8;
elseif b==4 % 16-QAM modulation
m=0;
for k=-3:2:3
% Power normalization
for l=-3:2:3,
m=m+1; sym_table(m)=(k+j*l)/sq10;
end
end
sym_table=sym_table([0 1 3 2 4 5 7 6 12 13 15 14 8 9 11 10]+1); inp=reshape
(bitseq,b,N_bits/b);
mod_symbols=sym_table([8 4 2 1]*inp+1); M=16; %16-ary symbol sequence
else
error('Unimplemented modulation');end


-- Вт апр 08, 2014 12:14:05 --

Если предположить что текст второго кода описывает функцию modulator, то как их соединить чтобы получить результат?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.

Модераторы: photon, whiterussian, profrotter, Jnrty, Aer, Парджеттер, Eule_A, Супермодераторы



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

Сейчас этот форум просматривают: mihaild


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

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