Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
3 / 2 / 1
Регистрация: 23.08.2016
Сообщений: 38

Гетеродинное преобразование квадратурного сигнала и доплеровское смещение

16.09.2016, 10:48. Показов 2351. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, я сформировал квадратурные составляющие сигнала(сигнал комплексный), теперь необходимо произвести гетеродинное преобразование. Как это сделать? И еще вопрос по доплеровскому смещению: задача определить пределы доплеровского смещения, если обЪект на Земле не двигается, а спутник двигается с первой космической скоростью. Потому что например, когда спутник находится над обЪектом доплеровское смещение минимальное, а когда он под углом, доплеровское смещение максимальное. И вот нужно определить пределы от 0 до ....???

Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
% clc;
fs = 102e6; % частота дискретизации
fh = 1530e6; %частота гетеродинного преобразования
fc = 1602e6; % несущая частота ГЛОНАСС
collect_number = 20; %число накоплений
N = collect_number*fs/1000;
fileID = fopen('D:\no_jamm_2_10_10_0_0.txt');
C = textscan(fileID,'%f %f %f %f %f %f %f %f', N);
data = [C{1,:}];
fclose(fileID);
ch_adc=[ 1 ]; %берем первый вход АЦП
 
I = zeros(1,max(size(data))); %формируем массив размером 1 х максимальную длину данных
Q = zeros(1,max(size(data)));
for i = ch_adc
    I = I + (data(:,2*i-1)-mean(data(:,2*i-1)))';
    Q = Q + (data(:,2*i)-mean(data(:,2*i)))';
end
IQ = I + 1i*Q;
 
fM = 0.511*10^6; %скорость передачи данных
fs_fM=fs/fM; %отношение частоты дискретизации к символьной скорости
C = 7.9e3; %скорость спутника в м/с(первая космическая)
t = 1/fs; %дискретное время
fi = fc - fh; %вычисляем промежуточную частоту(замена гетеродинному преобразованию)
 
S = I.*cos(2*pi*fi*t) + i*Q.*sin(2*pi*fi*t); %формируем сигнал
 
 
S_h = S.*sin(2*pi*fi*t); %гетеродинное преобразование
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.09.2016, 10:48
Ответы с готовыми решениями:

Генерация квадратурного сигнала.
ЕСть у нас, значиться промышленный сервопривод, коим очень хочеться поуправлять В прочлой части нашей эпопеи я научитлся подключать к нему...

Обработка квадратурного сигнала на AVR
Подпрограмма обработки квадратурного сигнала по прерываниям.doc Подпрограмма обработки квадратурного сигнала по прерываниям....

Спектр сигнала на выходе универсального квадратурного модулятора
Формулы, описывающие действия квадратурного модулятора: На входах модулятора имеем sin( {\omega}_{1} t) и cos( {\omega}_{1} t) В...

4
93 / 65 / 8
Регистрация: 29.05.2016
Сообщений: 168
16.09.2016, 10:57
nickolaspicko, комплексный сигнал S нужно умножать на комплексную экспоненту exp(1j*2*pi*f*t).

Про доплеровское смещение - последняя формула в статье.
1
3 / 2 / 1
Регистрация: 23.08.2016
Сообщений: 38
16.09.2016, 11:00  [ТС]
Raviollo, Немножко переписал, вроде так должно быть правильно, как считаешь?

Matlab M
1
2
3
4
5
6
fi = fc - fh; %вычисляем промежуточную частоту
 
S = IQ.*(sin(2*pi*fi*t)+cos(2*pi*fi*t)); %формируем сигнал
 
 
S_h = S.*exp(2*i*pi*fi*t); %гетеродинное преобразование
0
93 / 65 / 8
Регистрация: 29.05.2016
Сообщений: 168
16.09.2016, 11:03
nickolaspicko, похоже. Только зачем вы два раза переносите на ПЧ fi? Сначала по квадратурам, а затем сразу комплексное значение? Если нужно осуществить перенос с ПЧ на нулевую частоту, то в экспоненте должен быть знак минус.
1
3 / 2 / 1
Регистрация: 23.08.2016
Сообщений: 38
16.09.2016, 11:11  [ТС]
Raviollo, это еще сырой код, второе преобразование

Matlab M
1
S_h = S.*exp(2*i*pi*fi*t); %гетеродинное преобразование
оно будет в цикле, к нему будет прибавляться доплеровское смещение и строиться график с согласованным фильтром, таким образом, я определю доплеровское смещение.

Там будет приблизительно это:

Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
% ПРИБЛИЗИТЕЛЬНЫЙ ПОИСК ДОПЛЕРОВСКОГО СДВИГА
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
for k=0:100:400
    F = fi + k; % приблизительный поиск частоты доплера
    Z = Y.*cos(2*pi*(fi+k)*t); %гетеродинное преобразование с промежуточной + поиск доплеровской частоты
    
    Num = [1,2,1]; %коэффициенты числителя 1-ой секции ФНЧ
    Den = [1,-1.9485228131107961,0.95098699434575018]; %коэффициенты знаменателя 1-ой секции
    y = filter(Num, Den, Z); %фильтрация по 1-ой секции
    
    Num = [1,1,0]; %коэффициенты числителя 2-ой секции ФНЧ
    Den = [1,-0.9509567815010681,0]; %коэффициенты знаменателя 2-ой секции
    X = filter(Num, Den, y); %фильтрация по 2-ой секции
    
    F1 = fft(M(fix(fM*t)+1));
    Kf = conj(F1);
    F2 = fft(X);
    Fv = F2.*Kf;
    Sv = ifft(Fv)
    
    figure
    subplot(2,1,1)
    plot(Sv)
    grid on
    
    subplot(2,1,2)
    plot(X)
    grid on
end
Только тут ФНЧ вроде не нужен будет.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.09.2016, 11:11
Помогаю со студенческими работами здесь

Смещение спектра звукового сигнала
Есть звуковой сигнал, частота дискретизации 22кГц. Необходимо сдвинуть его спектр вниз в реальном времени. Каким программным способом это...

Смещение сигнала перед входом АЦП
Входной сигнал +-0.3 В У АЦП диапазон от 0 до 3,5. Подскажите, пожалуйста, как сместить входной - чтобы было от 0 до 0,6В. Спасибо

смещение входного сигнала при помощи оу
пытаюсь понять как работает аналоговая часть Neil ossyttossope в частности там есть такой узел для смещения входного сигнала на...

Преобразование звукового сигнала в спектр (Фурье-преобразование)
Доброго времени суток! Мне необходимо преобразовать звуковой файл в спектр, а как и с чего начать я не понимаю

БПФ, свертка функций и смещение сигнала во времени
Здравствуйте. Суть задания в следующем: есть функция, заданная на отрезке Нужно взять от нее БПФ, умножить само на себя, и взять обратное....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
BOINC: 22 года — и всё ещё работает
Programma_Boinc 12.03.2026
BOINC: 22 года — и всё ещё работает Дэвид Андерсон написал ретроспективу. Кратко: в 2001 году он ушёл из United Devices, где был CTO, и за несколько месяцев написал ядро BOINC — клиент, сервер,. . .
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru