Форум программистов, компьютерный форум, киберфорум
Наши страницы

Matlab

Войти
Регистрация
Восстановить пароль
 
Geliocoptr
0 / 0 / 0
Регистрация: 09.06.2016
Сообщений: 4
#1

Создание ЧМ сигнала с заданным законом модуляции - Matlab

09.06.2016, 08:25. Просмотров 560. Ответов 8
Метки нет (Все метки)

Всем привет. Столкнулся вот с такой проблемой: надо задать ЧМ сигнал с законом симметричной пилы. Вот код:
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
Rmax=40;                    % Максимальное измеряемое расстояние
c=3*10^8;                   % Скорость света
f0=24*10^9;                 % Центральная частота
Fm=c/(4*Rmax);              % Частота модуляции
del_f=250*10^6;             % Девиации частоты
Tm=1/Fm;                    % Период модуляции
n=1000;                     % Число отсчётов
tm=0:Tm/n:Tm-Tm/n;          % Массив времени
r=40;                       % Расстояние до цели
td=2*r/c;                   % Время задержки
per=1;                      % Число периодов в сигнале
t=0:Tm/n:((per*Tm)-Tm/n);   % Время
A=1;                        % Амплитуда зонд-го сигнала
 
for l=1:per
    for k=1:(n*per)
        if k<((n/2)+(l-1)*n)
           prob_sig(1,k)=A*cos(2*pi*(f0-del_f/2+2*del_f*t(1,k)/Tm).*t(1,k));
        else
           prob_sig(1,k)=A*cos(2*pi*(f0+del_f/2-2*(del_f/Tm)*t(1,k-n/2+1)).*t(1,k));
        end
    end
end
 
figure
plot(prob_sig);
В коде вроде всё логично, но график строит дикий. Может кто подсказать, что может быть неверно.
0
Миниатюры
Создание ЧМ сигнала с заданным законом модуляции  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.06.2016, 08:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Создание ЧМ сигнала с заданным законом модуляции (Matlab):

Создание зашумленного сигнала - Matlab
Помогите пожалуйста! Дали задание,на автомат,а в Simulink вообще ни разу не работал.. В общем,задание следующее В качестве исходного...

Создание ЛЧМ сигнала и запись в wav - Matlab
Всем привет, интересует следующее: нужно создать ЛЧМ сигнал, с начальной частотой 175 Гц, с конечной частотой 350 Гц (в октавной полосе в...

Создание модели сложного сигнала на основе 16-позиционной М-последовательности - Matlab
Здравствуйте). Очень нужна Ваша помощь.:cry: Необходимо создать математическую модель сложного сигнала на основе 16-позиционной...

Нужно усложнить готовую задачу по индексной цифровой модуляции. - Matlab
Есть готовая задача по индексной цифровой модуляции случайных чисел и демодуляции сделаная в матлабе, вот примерное условие для...

Моделирование сигнала, шумового процесса, смеси сигнала с шумом - Matlab
Доброе время суток. Помогите пожалуйста решить данное задание в MatLab. На двух вложениях одно задание.

Извлечение сигнала заданной частоты из более сложного сигнала - Matlab
Нужен совет. Предположим, у меня есть некий сложный сигнал. Я знаю, что в него входит синусоида, которая сохраняет свою амплитуду, затем...

8
R2D2
875 / 786 / 107
Регистрация: 23.11.2012
Сообщений: 2,313
09.06.2016, 20:21 #2
Geliocoptr, а использовать для этих целей готовые матлабовские функции - не вариант?...
0
Geliocoptr
0 / 0 / 0
Регистрация: 09.06.2016
Сообщений: 4
10.06.2016, 09:43  [ТС] #3
Например какие? chirp не подходит, так как время начинает отсчитывается от 0 и при совмещении двух массивов(1го и 2го полупериода модуляции) теряется фаза. Как вариант попробовать через блок chirp в Simulink, но хотелось бы всё таки в М-файле всё сделать. Если есть ещё варианты - буду рад посмотреть.
0
R2D2
875 / 786 / 107
Регистрация: 23.11.2012
Сообщений: 2,313
10.06.2016, 12:51 #4
Geliocoptr, например fmmod
0
averochkin
40 / 40 / 13
Регистрация: 05.01.2015
Сообщений: 142
11.06.2016, 15:29 #5
Делайте через фазу. Фаза это интеграл от частоты.
0
Geliocoptr
0 / 0 / 0
Регистрация: 09.06.2016
Сообщений: 4
14.06.2016, 13:25  [ТС] #6
Опробовал оба метода - и fmmod, и через фазу, ни один не работает корректно.
Вариант с fmmod:
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
Rmax=40;                    % Максимальное измеряемое расстояние
c=3*10^8;                   % Скорость света
f0=24*10^9;                 % Центральная частота
Fm=c/(4*Rmax);              % Частота модуляции
del_f=250*10^6;             % Девиации частоты
Tm=1/Fm;                    % Период модуляции
n=1000;                     % Число отсчётов
tm=0:Tm/n:Tm-Tm/n;          % Массив времени
r=40;                       % Расстояние до цели
td=2*r/c;                   % Время задержки
per=1;                      % Число периодов в сигнале
t=0:Tm/n:((per*Tm)-Tm/n);   % Время
A=1;                        % Амплитуда зонд-го сигнала
 
for k=1:n
    if k<(n/2)
       freq_m(1,k)=-del_f/2+2*del_f*t(1,k)/Tm;
    else
       freq_m(1,k)=+del_f/2-2*(del_f/Tm)*t(1,k-n/2+1);
    end
end
 
prob_sig=fmmod(freq_m,f0,2*f0,1);
 
figure
plot(prob_sig);
Вариант с фазой:
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
31
32
33
34
35
36
37
38
39
40
41
Rmax=40;                    % Максимальное измеряемое расстояние
c=3*10^8;                   % Скорость света
f0=24*10^9;                 % Центральная частота
Fm=c/(4*Rmax);              % Частота модуляции
del_f=250*10^6;             % Девиации частоты
Tm=1/Fm;                    % Период модуляции
n=1000;                     % Число отсчётов
tm=0:Tm/n:Tm-Tm/n;          % Массив времени
r=40;                       % Расстояние до цели
td=2*r/c;                   % Время задержки
per=1;                      % Число периодов в сигнале
t=0:Tm/n:((per*Tm)-Tm/n);   % Время
A=1;                        % Амплитуда зонд-го сигнала
 
for k=1:n
    if k<(n/2)
       freq_m(1,k)=-del_f/2+2*del_f*t(1,k)/Tm;
    else
       freq_m(1,k)=+del_f/2-2*(del_f/Tm)*t(1,k-n/2+1);
    end
end
 
for l=1:per
    omega_m(1,(1+(l-1)*n):n*l)=2*pi*freq_m;
 end
 
accum=0;
for k=1:n*per
    accum=accum+omega_m(1,k);
    phase_m(1,k)=accum;
end
 
figure
plot(phase_m);
 
% Зондирующий сигнал
 
prob_sig=A*cos(phase_m);
 
figure
plot(prob_sig);
1й график: вариант с fmmod
2й график: вариант с фазой
0
Миниатюры
Создание ЧМ сигнала с заданным законом модуляции   Создание ЧМ сигнала с заданным законом модуляции  
SSC
1574 / 1114 / 322
Регистрация: 09.04.2015
Сообщений: 3,073
14.06.2016, 14:52 #7
Программный код из сообщения 1.
Я не знаю какой графмк Вы хотите получить, но из анализа Вашего кода.
График строится по 1000 точкам, за это же время аргумент косинуса изменяется от 0 до примерно 12700 периодов.
Тоесть график строится для функции косинуса при этом имеем одну точку на 13 периодов, естесттвенно получаем некоторый случайный процесс. Вам надо или увеничить число точек минимум раз в 50 или что-то исправить в функции.
0
Geliocoptr
0 / 0 / 0
Регистрация: 09.06.2016
Сообщений: 4
14.06.2016, 15:48  [ТС] #8
Спасибо за совет. Попытался увеличить количество точек - спектр получился похожим, но вот в дальнейшем получились совершенно не ожидаемые результаты.

А как бы вы задали ЧМ сигнал с законом симметричной пилы?
0
averochkin
40 / 40 / 13
Регистрация: 05.01.2015
Сообщений: 142
14.06.2016, 17:07 #9
У меня как-то так

Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
clear;
F0=0.00;%НЕСУЩАЯ
Fd=50.0;%ДЕВИАЦИЯ
N=1000; %КОЛИЧЕСТВО ТОЧЕК ДИСКРЕТИЗАЦИИ
DT=0.001;%ИНТЕРВАЛ ДИСКРЕТИЗАЦИИ
k1=1:N/2;%ТОЧКИ ВОЗРАСТАНИЯ ЧАСТОТЫ
k2=N/2+1:N;%ТОЧКИ УБЫВАНИЯ ЧАСТОТЫ
FI1=2*pi*(F0*k1+(Fd/N)*k1.^2)*DT;%ФАЗА НА УЧАСТКЕ ВОЗРАСТАНИЯ ЧАСТОТЫ
S1=sin(FI1);
FI2=2*pi*(F0+Fd)*(k1)*DT-2*pi*(Fd/N)*(k1).^2*DT;%ФАЗА НА УЧАСТКЕ УБЫВАНИЯ ЧАСТОТЫ
S2=sin(FI2);
S=[S1 -S2];
0
14.06.2016, 17:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.06.2016, 17:07
Привет! Вот еще темы с ответами:

Создание комплексного экспоненциального сигнала - Simulink
Здравствуйте. Необходимо сгенерировать сигнал вида exp(j*10000*t). Период дискретизаци равен 100000. Схему собрал, решил выделить...

Простейшая схема амплитудной модуляции сигнала? - Радио
Простейшая схема амплитудной модуляции сигнала?

Определение частотного сдвига сигнала после QPSK модуляции - Цифровая обработка сигналов
Здравствуйте! Нужна очень ваша помощь. Я начинаю только ознакомление с дисциплиной &quot;цифровая связь&quot;. Мне дали задание и я не могу с ним...

Как получить график Частотно Импульсной Модуляции (ЧИМ) импульсного сигнала и его спектр - MathCAD
Как сделать не знаю. Какие формулы вводить, значения какие брать, вообще не понятно. В инете ничего по ЧИМ нет! Особенно по маткаду. Нужна...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.