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
3041
Что-то похожее есть среди примеров в 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
3041
Прошу прощения, то, что я имел в виду, опиралось на готовые блоки 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, Супермодераторы



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

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


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

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