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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Моделирование эффекта Доплера в КВ-канале без использования встроенных функций MATLAB.
СФТКСР
сообщение Apr 1 2013, 15:42
Сообщение #1





Группа: Новичок
Сообщений: 9
Регистрация: 17-03-13
Пользователь №: 76 064



Добрый вечер.
Собственно, в теме вопроса сам вопрос и заключается.

Реализация Doppler Shift вопросов не вызывает, т.к. вроде все понятно и есть конкретная формула, описывающая зависимость сдвига от скорости и угла:
http://picturepush.com/public/12446817

Вопрос: как, не используя встроенные функции "rayleighchan" и "ricianchan", реализовать Doppler Spread?


--------------------
С уважением,
СФТКСР
Go to the top of the page
 
+Quote Post
Виктор39
сообщение Apr 2 2013, 13:25
Сообщение #2


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

Группа: Участник
Сообщений: 123
Регистрация: 8-02-13
Из: Минск
Пользователь №: 75 542



может быть просто домножить на экспоненту SigOut = SigIn.*exp(-1i*2*pi*Doppler_Shift*t);
Go to the top of the page
 
+Quote Post
СФТКСР
сообщение Apr 3 2013, 12:10
Сообщение #3





Группа: Новичок
Сообщений: 9
Регистрация: 17-03-13
Пользователь №: 76 064



Цитата(Виктор39 @ Apr 2 2013, 17:25) *
может быть просто домножить на экспоненту SigOut = SigIn.*exp(-1i*2*pi*Doppler_Shift*t);


Виктор39, спасибо за ответ.

Однако, умножая на комплексную экспоненту Вы просто сместите спектр на "Doppler Shift", заранее вычисленный (собственно, по указанной формуле).
Мне же нужно ручками (не через "rayleighchan" или "ricianchan") замоделить Доплеровское расширение спектра (оно же -- Доплеровское распределение, оно же -- Doppler Spread).


--------------------
С уважением,
СФТКСР
Go to the top of the page
 
+Quote Post
andyp
сообщение Apr 3 2013, 13:10
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163



Вам нужно умножить Ваш сигнал на случайный процесс, моделирующий замирания. В качестве модели замираний используются:

1. Пропущенный через некий фильтр белый гауссовский шум. ИХ фильтра соответствует желаемой АКФ замираний. Здесь все сводится к синтезу фильтра с требуемой АЧХ.

2. Некий детерминированный процесс (обычно это сумма взвешенных синусоид) со случайными параметрами.

Про подход 2 можно почитать например здесь: Matthias Pätzold, Мobile Fading Channels

В обоих случаях, процесс, моделирующий замирания, узкополосный, поэтому, как правило, он синтезируется на низкой частоте дискретизации, а затем интерполируется.

PS В КВ обычно используются гауссовские спектры замираний (ну или бигауссовские (модель Ватерсона)). Есть также стандарт Recommendation ITU-R F.1487, описывающий каналы для тестирования модемов.
В матлабе есть какие-то модули для бигауссовской модели (здесь). Может, там и код посмотреть можно.
Go to the top of the page
 
+Quote Post
Tiro
сообщение Apr 3 2013, 13:21
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 781
Регистрация: 3-10-04
Из: Санкт-Петербург
Пользователь №: 768



Цитата(СФТКСР @ Apr 3 2013, 15:10) *
Мне же нужно ручками (не через "rayleighchan" или "ricianchan") замоделить Доплеровское расширение спектра (оно же -- Доплеровское распределение, оно же -- Doppler Spread).

Сделайте ресэмплинг с требуемым коэффициентом или сразу генерируйте сигнал с учетом Доплера.
Go to the top of the page
 
+Quote Post
Ivan55
сообщение Apr 3 2013, 16:30
Сообщение #6


Местный
***

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



Цитата(Tiro @ Apr 3 2013, 16:21) *
Сделайте ресэмплинг с требуемым коэффициентом или сразу генерируйте сигнал с учетом Доплера.


Здравствуйте! Где можно прочитать про данный метод? на сколько я понимаю, это не совсем ресемплинг, новых отсчетов не появляется используются те же отсчеты периода сигнала, но только этот период сжимается или растягивается во времени. Прошу пояснить что я не так понял или дать ссылку на источник? Как осуществляя ресэмплинг с требуемым коэффициентом, вы добиваетесь эффекта Допплера?

Цитата(andyp @ Apr 3 2013, 17:10) *
Вам нужно умножить Ваш сигнал на случайный процесс, моделирующий замирания.

Давайте по порядку) автор темы спрашивал про моделирование доплеровского распределения а не замираний, и не совсем понятно как " случайный процесс" может "моделировать замирания"?

Цитата(andyp @ Apr 3 2013, 16:10) *
1. Пропущенный через некий фильтр белый гауссовский шум. ИХ фильтра соответствует желаемой АКФ замираний. Здесь все сводится к синтезу фильтра с требуемой АЧХ.

Тоже самое, если вы говорите про распределение доплера, то там случайный процесс помоему должен проходить через фильтр АЧХ которого имеет желаемую функцию доплеровского распределения, а потом полученый сигнал добавляется к исходному, кто нибудь поправте если я не прав) А вы здесь говорите о каких то замираниях


Цитата(andyp @ Apr 3 2013, 16:10) *
2. Некий детерминированный процесс (обычно это сумма взвешенных синусоид) со случайными параметрами.

Ни разу не видел чтоб детерменированый процесс был со случайными параметрами))) Ваша мысль мне не ясна...
Че то похоже на моделирование канала с постоянными параметрами) вы может это пытаетесь объяснить?



Цитата(andyp @ Apr 3 2013, 16:10) *
PS В КВ обычно используются гауссовские спектры замираний (ну или бигауссовские (модель Ватерсона)). Есть также стандарт Recommendation ITU-R F.1487, описывающий каналы для тестирования модемов.

"гауссовские спектры замираний (ну или бигауссовские" это не спектры замираний а функции распределения доплера
"Есть также стандарт Recommendation ITU-R F.1487, описывающий каналы для тестирования модемов. " да есть такое, даже помоему в матлабе есть если посмотреть stdchan
Цитата(andyp @ Apr 3 2013, 16:10) *
В матлабе есть какие-то модули для бигауссовской модели (здесь). Может, там и код посмотреть можно.

Да есть, но код врядли открыт, скорее всего там закрытые MEXи и dll, так как матлаб в чистом виде работает медленно

Сообщение отредактировал Ivan55 - Apr 3 2013, 16:26
Go to the top of the page
 
+Quote Post
andyp
сообщение Apr 3 2013, 16:54
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163



Цитата(Ivan55 @ Apr 3 2013, 20:30) *
Давайте по порядку) автор темы спрашивал про моделирование доплеровского распределения а не замираний, и не совсем понятно как " случайный процесс" может "моделировать замирания"?

Таким, что коэффициент передачи канала является случайным процессом в силу того, что принимаемый сигнал является суммой отражений от случайно флюктуирующих сущностей (в случае КВ - это флюктуирующая граница слоя в ионосфере)

Цитата(Ivan55 @ Apr 3 2013, 20:30) *
Тоже самое, если вы говорите про распределение доплера, то там случайный процесс помоему должен проходить через фильтр АЧХ которого имеет желаемую функцию доплеровского распределения, а потом полученый сигнал добавляется к исходному, кто нибудь поправте если я не прав) А вы здесь говорите о каких то замираниях


Что такое доплеровское распределение? Распределение на выходе фильтра стремится к нормальному в силу центральной предельной теоремы. Огибающая, соответствено, распределена по релею. Я про корреляционную функцию и про СПМ замираний говорил.

Цитата(Ivan55 @ Apr 3 2013, 20:30) *
Ни разу не видел чтоб детерменированый процесс был со случайными параметрами))) Ваша мысль мне не ясна...
Че то похоже на моделирование канала с постоянными параметрами) вы может это пытаетесь объяснить?

Синус со случайной начальной фазой не встречали? Это детерминированный процесс со случайным параметром. Я сказал ровно то, что сказал да и ссылку на книжку дал. Там все написано, что понимается под детерминированными моделями.

Цитата(Ivan55 @ Apr 3 2013, 20:30) *
Да есть, но код врядли открыт, скорее всего там закрытые MEXи и dll, так как матлаб в чистом виде работает медленно

Матлабом не пользуюсь несколько лет, так что сказать ничего не могу.
Go to the top of the page
 
+Quote Post
Ivan55
сообщение Apr 3 2013, 17:23
Сообщение #8


Местный
***

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



Цитата(andyp @ Apr 3 2013, 19:54) *
Синус со случайной начальной фазой не встречали? Это детерминированный процесс со случайным параметром.

Детерменированный и случайный два разных процесса, не надо их в кучу объеденять, если вы говорите что "Синус со случайной начальной фазой" (если она не константа) это "детерминированный" то что вы скажете про это утверждение "Детерминированным сигналом называется такой сигнал, параметры и мгновенное значение которого в любой момент времени могут быть предсказаны с вероятностью, равной единице." есть три параметра сигнала амплитуда фаза частота, если один из них будет меняться случайным образом, ни о каком детерменировании мы не можем говорить. Но это лично мое мнение)
Цитата(andyp @ Apr 3 2013, 19:54) *
Матлабом не пользуюсь несколько лет, так что сказать ничего не могу.

зря... А почему не пользуетесь?

Ах да... И за книжку спасибо)

Сообщение отредактировал Ivan55 - Apr 3 2013, 17:26
Go to the top of the page
 
+Quote Post
andyp
сообщение Apr 3 2013, 17:36
Сообщение #9


Местный
***

Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163



Цитата(Ivan55 @ Apr 3 2013, 21:23) *
Детерменированный и случайный два разных процесса, не надо их в кучу объеденять, если вы говорите что "Синус со случайной начальной фазой" (если она не константа) это "детерминированный" то что вы скажете про это утверждение "Детерминированным сигналом называется такой сигнал, параметры и мгновенное значение которого в любой момент времени могут быть предсказаны с вероятностью, равной единице." есть три параметра сигнала амплитуда фаза частота, если один из них будет меняться случайным образом, ни о каком детерменировании мы не можем говорить. Но это лично мое мнение)

зря... А почему не пользуетесь?

Я ничего не "объединяю в кучу", а пользуюсь общепринятой терминологией из области теории оценивания (estimation theory). Если у синуса случайная начальная фаза, то он не перестанет быть детерминированным. Если вы пронаблюдали один отсчет такого синуса, то второй Вы сможете предсказать с вероятностью 1. Ни про какие "изменения" параметров я не говорил.

Матлабом не пользуюсь во-первых потому что он не нужен за такие деньги и во вторых потому, что мои задачи решают бесплатные альтернативы.
Go to the top of the page
 
+Quote Post
Ivan55
сообщение Apr 3 2013, 18:04
Сообщение #10


Местный
***

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



Цитата(andyp @ Apr 3 2013, 20:36) *
Я ничего не "объединяю в кучу", а пользуюсь общепринятой терминологией из области теории оценивания (estimation theory). Если у синуса случайная начальная фаза, то он не перестанет быть детерминированным. Если вы пронаблюдали один отсчет такого синуса, то второй Вы сможете предсказать с вероятностью 1. Ни про какие "изменения" параметров я не говорил.

Ну понятно, просто начальная фаза сигнала изначально задана) но тогда про "В качестве моделей замираний используется:....
2. Некий детерминированный процесс (обычно это сумма взвешенных синусоид) со случайными параметрами. "
Ниче точно сказать не могу, я вашу книгу не читал) но я моделил канал с замираниями по другому, через фильтр)
Но мы щас помоему отвлекаемся от первоначального вопроса, заданного автором... И пока конкретного пошагового действия мы не определили

моделить через ресемплинг по моему муть, может есть у кого моделька того как это делается?
Go to the top of the page
 
+Quote Post
andyp
сообщение Apr 3 2013, 18:17
Сообщение #11


Местный
***

Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163



Кодом поделиться не могу, но что касается ITU-R F.1487 моделей, то все просто:
берется комплексный белый шум, прогоняется через фильтр с гауссовской ИХ,нормируется, затем умножается на комплексную экспоненту A1*exp(j*2*pi*fd1/Fsam*t). Полученные комплексные отсчеты умножаются на отсчеты сигнала. Также формируется второй луч с А2, fd2. Затем лучи складываются с требуемой задержкой.

Небольшое гугление приводит к матлаб коду, который можно найти в этой ветке форума: radioscanner Я в код не смотрел, но не думаю, что там что-то сверхестественное

PS кое-что еще можно почерпнуть отсюда http://www.hfindustry.com/pdf/chansim.pdf

Сообщение отредактировал andyp - Apr 3 2013, 18:30
Go to the top of the page
 
+Quote Post
Виктор39
сообщение Apr 4 2013, 07:24
Сообщение #12


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

Группа: Участник
Сообщений: 123
Регистрация: 8-02-13
Из: Минск
Пользователь №: 75 542



простите за глупые вопросы:
1)
Цитата
Здесь все сводится к синтезу фильтра с требуемой АЧХ.

чем собственно определяется ачх фильтра. в матлабе для нахождения ИХ фильтра с гауссовским распределением используется функция h = gaussfir(bt); где bt - ширина спектра по уровню -3 дБ. так вот, каким образом выбирается ширина спектра для конкретного значения величины доплеровского расширения?!

2) код должен выглядеть примерно так??
Код
A1 = 1;
fd1 = 3;

WhiteNoise = wgn(N,1,0,'complex'); % берется комплексный белый шум 0дБ

bt = 0.2;         % ???
h = gaussfir(bt);

WhiteNoise =  filter(h,1,WhiteNoise); % прогоняется через фильтр с гауссовской ИХ

t = (1:N)./Fs;
Path1 = A1*exp(1i*2*pi*t*fd1).*WhiteNoise'; % затем умножается на комплексную экспоненту

SigOut1 = Path1.*SigIn; %Полученные комплексные отсчеты умножаются на отсчеты сигнала

???
Go to the top of the page
 
+Quote Post
Ivan55
сообщение Apr 4 2013, 08:32
Сообщение #13


Местный
***

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



Цитата(Виктор39 @ Apr 4 2013, 10:24) *
простите за глупые вопросы:
1)
чем собственно определяется ачх фильтра. в матлабе для нахождения ИХ фильтра с гауссовским распределением используется функция h = gaussfir(bt); где bt - ширина спектра по уровню -3 дБ. так вот, каким образом выбирается ширина спектра для конкретного значения величины доплеровского расширения?!

bt = значению величины доплеровского расширения
Go to the top of the page
 
+Quote Post
Виктор39
сообщение Apr 4 2013, 09:44
Сообщение #14


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

Группа: Участник
Сообщений: 123
Регистрация: 8-02-13
Из: Минск
Пользователь №: 75 542



Цитата
bt = значению величины доплеровского расширения

все таки bt в функции gaussfir(bt) скорее всего не определяет ширину спектра по уровню -3дБ
bt is the 3-dB bandwidth-symbol time product where b is the one-sided bandwidth in hertz and t is in seconds.

Go to the top of the page
 
+Quote Post
andyp
сообщение Apr 4 2013, 11:15
Сообщение #15


Местный
***

Группа: Участник
Сообщений: 453
Регистрация: 23-07-08
Пользователь №: 39 163



вот мой код на с++ для синтеза коэффициентов гауссовского фильтра в зависимости от частоты дискретизации ( generation_rate, Hz) и doppler spread(Hz)

Код
void PathFadingGenerator<Gaussian>::init(double generation_rate)
{
    it_error_if(generation_rate < fs_min() || generation_rate > fs_max(), "JakesPath::init: invalid sampling rate.");
    _generation_rate = generation_rate;
    vec win = hamming(2*L);
    vec c(2*L);
    double coeff = -4.0*sqr(pi*_doppler_spread/generation_rate);
    for(int i = 0; i < L; ++i)
    {        
        double tmp = win(L+i) * std::exp(coeff*sqr(i+0.5));
        c(L+i) = tmp;
        c(L-i-1) = tmp;    
    }
    c /= norm(c);
    set_coeffs(c);
}


2) код должен выглядеть примерно так??
Второй луч формируется так же, только используется задержанный сигнал. Величина задержки - параметр модели.

Затем лучи суммируются и получается выход канала

PS про гауссовский фильтр, как легко догадаться, можно почитать здесь

Сообщение отредактировал andyp - Apr 4 2013, 11:03
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 15th June 2025 - 18:35
Рейтинг@Mail.ru


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