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

Matlab

Войти
Регистрация
Восстановить пароль
 
lordimid
3 / 3 / 0
Регистрация: 02.10.2011
Сообщений: 98
#1

Фазовая манипуляция - Matlab

08.02.2012, 19:44. Просмотров 3372. Ответов 4
Метки нет (Все метки)

Помогите пожалуйста разобраться с реализацией фазовой манипуляции в матлаб.
sm(t) = g(t)cos[2πfct + φm(t)].
Мне нужно, чтобы φm(t) принимала значения pi или 0 . Каким способом нужно задать эту функцию? Я так понимаю нужно это делать через цикл и условие, но как именно не пойму. Помогите пожалуйста. Сразу оговорюсь мне интересна реализация фм именно таким способом, варианты с готовыми функциями я уже видел. Заранее благодарен.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.02.2012, 19:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Фазовая манипуляция (Matlab):

Амплитудная и фазовая манипуляция - Matlab
Уважаемые форумчане! Помогите пожалуйста разобраться, как написать программу для построения амплитудной и фазовой манипуляции... Там...

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

Фазовая траектория физического маятника - Matlab
Всем привет, я новичок в matlab, а мне дали задание, которое мне не по плечу. Дана такая программа: clear; % Очистка рабочей области ...

Квадратурная фазовая манипуляция (QPSK) - Simulink
При отладке смоделированной схемы возникает ошибка в блоке Receiver. Что можно предпринять? Варианты иссякли.

Амплитудно-фазовая модуляция. График - MathCAD
возникли проблемы. почему у меня график неправильный? судя по графику он передает : 1-1-0-0-1-1-0-0-1-1-1-1 НУЖНА...

Амплитудная, частотная и фазовая модуляция - Цифровая обработка сигналов
День добрый форум. Получил следующее задание: Генерирование различных классов цифровых фильтров, алгоритма БПФ и на их основе...

4
vital792
1992 / 1264 / 56
Регистрация: 05.06.2010
Сообщений: 2,213
09.02.2012, 11:50 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
clear all;
close all;
 
seq = [0 1 0 1 1 0 0 1 0 0 0 1 1 1 1]; % некая кодовая последовательность(в данном случае М)
numberOfPeriods = 2; % длина элементарного импульса в периодах несущей
phaseSteps = seq * pi;
 
Ampl = 1; % ам не используется
 
Fs = 48000; % частота дискретизации
fc = 1000; % несущая
 
chipDuration = numberOfPeriods / fc; % длительность элементарного импульса
 
fullLength = ceil(length(seq) * chipDuration * Fs); % длина сигнала в отсчетах
phase = zeros(1, fullLength);
currPhase = phaseSteps(1);
FlipIdxReal = chipDuration * Fs;
 
ChipIdx = 1;
PrevChipIdx = 1;
 
for i=1:fullLength
    phase(i) = currPhase;
    currPhase = currPhase + 2*pi*fc/Fs;
    if i>FlipIdxReal
        PrevChipIdx = ChipIdx;
        ChipIdx = ChipIdx + 1;
        if ChipIdx >= length(seq)
            ChipIdx = 1;
        end
        currPhase = currPhase + phaseSteps(ChipIdx) - phaseSteps(PrevChipIdx);
        FlipIdxReal = FlipIdxReal + chipDuration * Fs;
    end
end
 
signal = Ampl * sin(phase);
 
plot(signal);
немного заморочено получилось, наверно можно проще, но работает
3
lordimid
3 / 3 / 0
Регистрация: 02.10.2011
Сообщений: 98
09.02.2012, 17:34  [ТС] #3
Спасибо большое. Щас сяду разбираться.
0
lordimid
3 / 3 / 0
Регистрация: 02.10.2011
Сообщений: 98
11.02.2012, 10:48  [ТС] #4
Вот кое какие труды по данному вопросу. Оцените пожалуйста, кому интересно. Может направите в нужное русло, буду рад
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Fd=500;       % Частота дискретизации
t=0:(1/Fd):10; %Задаем время
Fs=5;       % Несущая частота
j=0;
for t=0:(1/Fd):10;   %Создаем вектор такой же длины, как и t
    j=j+1;
    V(j)=1;            %Запоняем его единицами
end;
lengthofV=length(V);  %Длина вектора V
sum=100;   % Временная переменная
for j=1:lengthofV; 
    if j==sum
        V(j)=-1; %Заполняем вектор V отрицательными числами, чтобы инвертировать фазу
        sum=sum+100;
    end;
end;
s=cos(V.*(2*pi*Fs*t)); % В этом месте я бы хотел чтобы фаза сигнала инвертировалась на     
% противоположную, но матлаб выдает ошибку. Скажите пожалуйста возможно ли
% подобным методом организовать инверсию фазы (может я допустил 
% синтаксическую ошибку), или это в принцыпе не возможно?
0
vital792
1992 / 1264 / 56
Регистрация: 05.06.2010
Сообщений: 2,213
11.02.2012, 11:28 #5
Matlab M
1
2
3
4
for t=0:(1/Fd):10; %Создаем вектор такой же длины, как и t
 j=j+1; 
 V(j)=1; %Запоняем его единицами 
end;
можно проще
Matlab M
1
V = ones(1, length(t));
но матлаб выдает ошибку.
да вроде не должно быть никакой ошибки. Но этот код не поворачивает фазу как положено, а только рвет ее в точках кратных 100.

lordimid, твой код - реализация psk(попытка), где длина элементарного импульса фиксирована(100), а в моем коде длина задается числом периодов несущей частоты, такой способ обычно используется в системах связи
0
11.02.2012, 11:28
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.02.2012, 11:28
Привет! Вот еще темы с ответами:

Амплитудно - фазовая частотная характеристика - Visual Basic
Необходимо построить амплитудно-фазовую частотную характеристику (АФЧХ) даны формулы A(\omega )=\frac{K\sqrt{({A}_{1}{\omega...

Одноканальная одно-фазовая модель - MathCAD
здравствуйте!!!вот аткое задание дали в универе: определить, при каком законе распределения AТ среднее время свидания заявки в очереди...

Манипуляция с ячейками ! - HTML, CSS
Здравствуйте, очень нужна ваша помощь есть ячейка в таблице, у которой прописаны мин макс значения, это ширина и высота, она их не...

Манипуляция с байтами - C#
Здравствуйте. есть массив байт byte b2 = new byte; в него планируется копировать, ДОПУСТИМ, первые 49 байт какая нибудь...


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

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

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