реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Моделирование УКВ канала
Ivan55
сообщение Feb 27 2013, 16:02
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640



Здравствуйте!

Необходимо сделать модель канала УКВ. Кто подскажет с чего лучше начать? Что почитать?

Заранее Спасибо!
Go to the top of the page
 
+Quote Post
Ivan55
сообщение Mar 3 2013, 16:57
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640



CODE
clear all; close all; clc;

% Коэффициент ослабления лучей
r = [0.057662, 0.176809, 0.407163, 0.303585, 0.258782, ...
0.061831, 0.150340, 0.051534, 0.185074, 0.400967, ...
0.295723, 0.350825, 0.262909, 0.225894, 0.170996, ...
0.149723, 0.240140, 0.116587, 0.221155, 0.259730;];

% Задержка лучей
tau = [1.003019, 5.422091, 0.518650, 2.751772, 0.602895, ...
1.016585, 0.143556, 0.153832, 3.324866, 1.935570, ...
0.429948, 3.228872, 0.848831, 0.073883, 0.203952, ...
0.194207, 0.924450, 1.381320, 0.640512, 1.368671;] * 1e-6;


SNR = 20; % Отношение сигнал шум в дБ
NumBlock = 100; % Колличество символов прошедших через канал
SamplesRate = (2.5e6/3)*8/5; % Частота передискретизированного сигнала
NumCarriers = 533; % Колличество несущих
FFTLength = 3000; % Колличество отсчетов полезной части сигнала
GuardLength = 375; % Колличество отсчетов защитной части сигнала


% Расчет Доплеровского смещения
FreqCarrier = 108e6; % Несущая сигнала
Speed = 200e3/3600; % Скорость движения приемника относительно передатчика
c = 300e6; % Скорость света
DopplerShift = FreqCarrier*Speed/c; % Максимальный доплеровский сдвиг

SampleTime = 1/SamplesRate; % Период дискретизации сигнала
DelayVector = tau;
GainVector = 10*log10®; % Коэффициент ослабления лучей в дБ
scale = 1./sqrt(sum(r.^2));

ChanObj = rayleighchan(SampleTime,DopplerShift,DelayVector,GainVector);
ChanObj.ResetBeforeFiltering = 1;
ChanObj.NormalizePathGains = 1;
ChanObj.StorePathGains = 0;
ChanObj.DopplerSpectrum = doppler.gaussian(DopplerShift/2);
ChanObj.StoreHistory = 1;

M=4;
k=log2(M);
H_QAM4=modem.qammod('M',M,'PhaseOffset', 0, 'SymbolOrder',...
'binary', 'InputType', 'bit');
hDeMod = modem.qamdemod(H_QAM4);

data = [];
for n = 1:NumBlock
Input_Data = randint(k*NumCarriers,1,2);
QAM_tx = modulate(H_QAM4,Input_Data);

Symbol = ifft([QAM_tx(ceil(NumCarriers/2)+1:NumCarriers);complex(zeros(FFTLength-NumCarriers,1),zeros(FFTLength-NumCarriers,1));...
QAM_tx(1:ceil(NumCarriers/2))]);

SymbolCP = [Symbol(FFTLength-GuardLength+1:FFTLength);Symbol];

OutputBlock = filter(ChanObj, SymbolCP);
OutputBlock = awgn(OutputBlock, SNR+10*log10(k)-10*log10(1),'measured');

Symbol = fft(OutputBlock(GuardLength+1:FFTLength+GuardLength));
QAM_rx(1,1:ceil(NumCarriers/2)) = Symbol(FFTLength - ceil(NumCarriers/2)+1:FFTLength);
QAM_rx(1,ceil(NumCarriers/2):NumCarriers) = Symbol(1:ceil(NumCarriers/2));

end

plot(linspace(0,SamplesRate,3375), 20*log10(abs(fft(SymbolCP)))); grid on;
%plot(ChanObj);


Все ли я правильно сделал? SampleTime это период дискретизации сигнала или что то другое? как проверить правильность модели? Есть ли в матлабе какиенить теоретические расчеты ПХ канала?

Сообщение отредактировал Ivan55 - Mar 4 2013, 06:24
Go to the top of the page
 
+Quote Post
Kluwert
сообщение Mar 5 2013, 11:58
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 239
Регистрация: 15-11-09
Из: Санкт-Петербург
Пользователь №: 53 639



Цитата(Ivan55 @ Mar 3 2013, 20:57) *
Все ли я правильно сделал?

Нет. Надо просто в Симулинке открыть подходящую модель и злобно её заюзать. Всё уже придумали до нас, причём по нескольку раз.
Go to the top of the page
 
+Quote Post
Ivan55
сообщение Mar 6 2013, 03:59
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640



Цитата(Kluwert @ Mar 5 2013, 14:58) *
Надо просто в Симулинке открыть подходящую модель и злобно её заюзать.


Например?
Go to the top of the page
 
+Quote Post
Kluwert
сообщение Mar 6 2013, 08:18
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 239
Регистрация: 15-11-09
Из: Санкт-Петербург
Пользователь №: 53 639



Цитата(Ivan55 @ Mar 6 2013, 07:59) *
Например?


Сорри, чего-то я вчера злой слишком был. А по моделям - пожалуйста: открываете Communication Systems/channels. Там вам пожалуйста, и просто AWGN и многолучёвый с замираниями и т.д. Готовые системы уже вместе с каналом есть, например, DVB целиком расписана (вроде ваш диапазон). Я вам советую, всё-таки, моделировать системы связи, ибо там важны вопросы синхронизации в симулинке: удобно и наглядно. Но дело ваше.
Go to the top of the page
 
+Quote Post
Ivan55
сообщение Mar 7 2013, 04:15
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640



Цитата(Kluwert @ Mar 6 2013, 11:18) *
Сорри, чего-то я вчера злой слишком был.


Ниче такого не заметил))

Цитата(Kluwert @ Mar 6 2013, 11:18) *
...DVB целиком расписана (вроде ваш диапазон). Я вам советую, всё-таки, моделировать системы связи, ибо там важны вопросы синхронизации в симулинке: удобно и наглядно. Но дело ваше.


Да это DVB-T. Спасибо за подсказку, буду смотреть разбираться)
Go to the top of the page
 
+Quote Post
Ivan55
сообщение Mar 11 2013, 04:01
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640



Цитата(Kluwert @ Mar 6 2013, 11:18) *
Готовые системы уже вместе с каналом есть, например, DVB целиком расписана


А где можно взять эту модельку с каналом, о которой вы говорите, у вас есть ссылка на нее, или подскажите где ее можно найти?
Go to the top of the page
 
+Quote Post
Kluwert
сообщение Mar 11 2013, 09:17
Сообщение #8


Местный
***

Группа: Участник
Сообщений: 239
Регистрация: 15-11-09
Из: Санкт-Петербург
Пользователь №: 53 639



Цитата(Ivan55 @ Mar 11 2013, 08:01) *
А где можно взять эту модельку с каналом, о которой вы говорите, у вас есть ссылка на нее, или подскажите где ее можно найти?

Так в демосах к communication toolbox. Если он у вас стоит (и Симулинк, есстественно, тоже) просто наберите в командном окне матлаба commdvbc и сразу в модель нужную попадёте.

Ой, сорри, commdvbt, вам же terrestrial вроде нужен.


Сообщение отредактировал Kluwert - Mar 11 2013, 09:19
Go to the top of the page
 
+Quote Post
Ivan55
сообщение Mar 11 2013, 10:09
Сообщение #9


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640



Цитата(Kluwert @ Mar 11 2013, 12:17) *
Так в демосах к communication toolbox. Если он у вас стоит (и Симулинк, есстественно, тоже) просто наберите в командном окне матлаба commdvbc и сразу в модель нужную попадёте.

Ой, сорри, commdvbt, вам же terrestrial вроде нужен.


Так то да)) я ее и нашел) но там модель с AWGN, а я думал вы мне говорите про модель DVB c каналами Райса и Релея) Но все равно спасибо) вот только встроенные функции матлаба релея и райса не подойдут для моделирования, так как DVB стандарт оговаривает требования на канал с 20 лучами и 20 фиксированными фазами лучей, а встроенные матлабовские Райса и Релея эти фазы сами крутят, и стационарными их не задают)) Так что писать придется модель кканала ручками. Вопрос: "Как можно сделать задержку луча на дробное колл-во отсчетов?"

Кто нить делал модель канала DVB-T? подскажите хотябы)

Сообщение отредактировал Ivan55 - Mar 11 2013, 12:26
Go to the top of the page
 
+Quote Post
ser_aleksey_p
сообщение Mar 11 2013, 18:13
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 399
Регистрация: 25-07-10
Из: Rybinsk
Пользователь №: 58 593



Цитата(Ivan55 @ Mar 11 2013, 14:09) *
Кто нить делал модель канала DVB-T? подскажите хотябы)


Попробуйте посмотреть в ADS и SV.
Go to the top of the page
 
+Quote Post
Ivan55
сообщение Mar 12 2013, 05:57
Сообщение #11


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640



Цитата(ser_aleksey_p @ Mar 11 2013, 21:13) *
Попробуйте посмотреть в ADS и SV.


Что за ADS и SV?
Go to the top of the page
 
+Quote Post
STAR_IK
сообщение Mar 12 2013, 06:47
Сообщение #12


Частый гость
**

Группа: Свой
Сообщений: 136
Регистрация: 10-04-09
Из: Омск
Пользователь №: 47 461



Цитата(Ivan55 @ Mar 11 2013, 16:09) *
Вопрос: "Как можно сделать задержку луча на дробное колл-во отсчетов?"

Дробная задержку можно сделать с помощью фильтра Фэрроу (Farrow), только надо смотреть чтоб ширина спектра сигнала не сильно искажалась фильтром, который имеет завал на ВЧ и максимален при задержке 0.5 периода дискретизации. Т.е. надо что бы частота дискретизации была с запасом в несколько раз, а не в притык по Котельникову. АЧХ фильтра Фэрроу можно глянуть у Незами, ну или я могу выложить если нужно. Если реализация в Simulink то посмотрите модели по ссылке. Там реализуется дробная задержка в петле символьной синхронизации. Если вы работаете только с m-файлами, то смотрите в help матлаба, там есть какой-то Farrow filter.
Go to the top of the page
 
+Quote Post
Ivan55
сообщение Mar 12 2013, 08:40
Сообщение #13


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640



Цитата(STAR_IK @ Mar 12 2013, 09:47) *
Дробная задержку можно сделать с помощью фильтра Фэрроу (Farrow), только надо смотреть чтоб ширина спектра сигнала не сильно искажалась фильтром, который имеет завал на ВЧ и максимален при задержке 0.5 периода дискретизации. Т.е. надо что бы частота дискретизации была с запасом в несколько раз, а не в притык по Котельникову. АЧХ фильтра Фэрроу можно глянуть у Незами, ну или я могу выложить если нужно. Если реализация в Simulink то посмотрите модели по ссылке. Там реализуется дробная задержка в петле символьной синхронизации. Если вы работаете только с m-файлами, то смотрите в help матлаба, там есть какой-то Farrow filter.


Да спасибо) я уже нашел, но там fracdelay который как раз и использует Farrow filter
Go to the top of the page
 
+Quote Post
ser_aleksey_p
сообщение Mar 12 2013, 15:35
Сообщение #14


Местный
***

Группа: Свой
Сообщений: 399
Регистрация: 25-07-10
Из: Rybinsk
Пользователь №: 58 593



Цитата(Ivan55 @ Mar 12 2013, 09:57) *
Что за ADS и SV?





Go to the top of the page
 
+Quote Post
Ivan55
сообщение Mar 12 2013, 17:22
Сообщение #15


Местный
***

Группа: Участник
Сообщений: 212
Регистрация: 17-01-12
Пользователь №: 69 640



Цитата(ser_aleksey_p @ Mar 12 2013, 18:35) *




Спасибо) стало на много ясней
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 2nd August 2025 - 11:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01486 секунд с 7
ELECTRONIX ©2004-2016