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

 
 
> Изменение фазы РЧ сигнала на небольшой угол
Vagant
сообщение Aug 27 2009, 04:52
Сообщение #1


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

Группа: Участник
Сообщений: 111
Регистрация: 25-09-07
Пользователь №: 30 820



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

Пожалуйста, посоветуйте как можно изменять фазу радиочастотного сигнала (с частотой 8 МГц и амплитудой 5 вольт) на определённый угол который можно изменять, например на один (или несколько) градусов.

(Для изменения угла на 180 градусов сигнал можно инвертировать, но мне нужно более тонкое изменение фазы - на углы порядка нескольких градусов или несколько десятков градусов).

Иначе говоря, интересует метод по которому работает схема на входе которой РЧ сигнал с некоторой фазой а на выходе этот же РЧ сигнал но фаза увеличена на несколько градусов.

P.S. Предполагается реализовывать схему на ПЛИС (набор Xilinx Microblaze 1600E) или микропроцессорном наборе Rabbit RCM3200. Я пока только учусь программировать системы на этих наборах.

Спасибо.

Сообщение отредактировал Vagant - Aug 27 2009, 04:54
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
i.cf
сообщение Aug 27 2009, 17:24
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 56
Регистрация: 25-08-09
Из: Украина, Харьков
Пользователь №: 52 034



Цитата
В цифровой.

Если я все правильно понял - то Вам будет достаточно организовать задержку, которая и обеспечит сдвиг фазы.
Так, задержка на 1/(8 * 10^6) = 0,125мкс - сдвиг на один период. Половина этой задержки - сдвиг на 180, 1/4-я - сдвиг на 90, 1/360-я - сдвиг на 1 градус.
Подавайте оцифрованный сигнал в параллельном виде на МК/ПЛИС, а выдавайте через определенное время, которое будете задавать.
Для этого Вам нужно будет организовать программно некоторое подобие очереди (FIFO) с постоянным количеством элементов.

Сообщение отредактировал i.cf - Aug 27 2009, 17:28
Go to the top of the page
 
+Quote Post
Vagant
сообщение Aug 27 2009, 17:55
Сообщение #3


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

Группа: Участник
Сообщений: 111
Регистрация: 25-09-07
Пользователь №: 30 820



Цитата(i.cf @ Aug 27 2009, 20:24) *
Если я все правильно понял - то Вам будет достаточно организовать задержку, которая и обеспечит сдвиг фазы.
Так, задержка на 1/(8 * 10^6) = 0,125мкс - сдвиг на один период. Половина этой задержки - сдвиг на 180, 1/4-я - сдвиг на 90, 1/360-я - сдвиг на 1 градус.
Подавайте оцифрованный сигнал в параллельном виде на МК/ПЛИС, а выдавайте через определенное время, которое будете задавать.
Для этого Вам нужно будет организовать программно некоторое подобие очереди (FIFO) с постоянным количеством элементов.


А разве временная задержка и фазовый сдвиг это одно и тоже?

P.S. В уравнении колебания S(t)=S*cos(w*t+Phi) задержка должна прибавляться ко времени, которое умножено на частоту, а фаза то складывается с произведением частоты и времени. То есть задержка и фаза по разному учитываются.
Go to the top of the page
 
+Quote Post
Vagant
сообщение Aug 27 2009, 18:04
Сообщение #4


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

Группа: Участник
Сообщений: 111
Регистрация: 25-09-07
Пользователь №: 30 820



А можно ли использовать такой подход:

Вращение вектора, представляющего гармоническое колебание, на угол phi можно представить как результат произведения его компонент на cos(phi) и sin(phi). То есть надо составить таблицу коэффициентов для разных углов вращения и для нужного угла умножать компоненты сигнала на соответствующие этому углу коэффициенты, а потом эти произведения (новые компоненты сигнала) сложить чтобы получить сигнал после вращения.
Go to the top of the page
 
+Quote Post
hobgoblin
сообщение Sep 22 2009, 10:38
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 202
Регистрация: 2-10-06
Из: Петербург
Пользователь №: 20 881



Цитата(Vagant @ Aug 27 2009, 22:04) *
А можно ли использовать такой подход:

Вращение вектора, представляющего гармоническое колебание, на угол phi можно представить как результат произведения его компонент на cos(phi) и sin(phi). То есть надо составить таблицу коэффициентов для разных углов вращения и для нужного угла умножать компоненты сигнала на соответствующие этому углу коэффициенты, а потом эти произведения (новые компоненты сигнала) сложить чтобы получить сигнал после вращения.


На случай, если еще актуально.
Если у Вас комплексный вектор и реализовывать предполагается на ПЛИС, то никаких таблиц и умножений в общем то не надо. Есть алгоритм CORDIC, при помощи которого все это делается проще. Про этот алгоритм в сети достаточно много информации. Например, можно почитать в приложенном файле.
Прикрепленные файлы
Прикрепленный файл  crdcsrvy.pdf ( 120.74 килобайт ) Кол-во скачиваний: 132
 
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 07:37
Рейтинг@Mail.ru


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