0 / 0 / 0
Регистрация: 13.05.2014
Сообщений: 4
1

Изменение амплитуды для функции rectpulse

13.05.2014, 19:33. Показов 2507. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, я в матлабе совсем новичок, у меня появилось несколько вопросов, если не сложно - ответьте, пожалуйста.

Во-первых, вот код:

Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Fs = 1e9;
t = 0:1/Fs:(10*4e-6);       %начало отсчета: шаг : конец отсчета (количество импульсов)
pulsewidth = 5e-6;          %длина импульса
pulseperiods = [[0:10]*15e-6 0.5];          %период сюда как-то добавить изменение амплитуды
x = pulstran(t,pulseperiods,@rectpuls,pulsewidth);  %Вот этот похож на 1 график
subplot(2, 1, 1);
plot(t.*1e6,x); axis([0 40 -0.5 1.5]);
xlabel('\mus'); ylabel('Amplitude');
 
Fs = 1e9;
t = 0:1/Fs:(10*4e-6);
pulsewidth = 5e-6;
pulseperiods = [0:10]*15e-6;
x = pulstran(t,pulseperiods,@rectpuls,pulsewidth);
subplot(2, 1, 2);
plot(t.*1e6,x); axis([0 40 -0.5 1.5]);
xlabel('\mus'); ylabel('Amplitude');
Вопросы - 1. Не могу изменить амплитуду прямоугольного сигнала, формирующегося с помощью функции rectpulse. Подскажите, пожалуйста, как изменить, или как по-другому сформировать прямоугольные импульсы с возможностью задания амплитуды и изменения фазы.
2. Не выходит запустить прямоугольный импульс со смещением относительно первого графика, то есть, к примеру, чтобы график начинался с координаты [0;0], а не [0;1] (для второго графика). Получается только запустить прямоугольный импульс с задержкой (график начинается с [5;0]).

Если не сложно - помогите, пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.05.2014, 19:33
Ответы с готовыми решениями:

Изменение амплитуды сигнала
Хотелось бы услышать более опытных саратников по такому вопросу: Имеется атмега8, которая в...

Изменение амплитуды тока в нагрузке
Добрый день. Какие варианты схемотехнической реализации есть у устройства, которое позволяет...

Звук, запись по функции амплитуды от времени
Здравствуйте, есть ли способ представить звуковой файл как массив пар вида амплитуда:время с...

Анализ сигнала для нахождения времени и амплитуды
Существует проблема: Есть форма сигнала представленная виде рисунка (рисунок 1) Можно ли с...

7
Эксперт по электронике
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,489
13.05.2014, 20:05 2
Цитата Сообщение от Aptem19 Посмотреть сообщение
изменить амплитуду прямоугольного сигнала
Всех прямоугольников? Или что бы амплитуда менялась по определенному закону?
Цитата Сообщение от Aptem19 Посмотреть сообщение
возможностью задания амплитуды и изменения фазы
С амплитудой все более менее понятно. Что значит "изменения фазы"? Разная задержка между импульсами?
0
0 / 0 / 0
Регистрация: 13.05.2014
Сообщений: 4
13.05.2014, 20:15  [ТС] 3
Да, для всех прямоугольников.
Про фазу - извините, я имел в виду, что мне нужно, чтобы импульсы второго графика были в противофазе с импульсами второго, то есть, чтобы у них максимум был, например, в -1 по амплитуде.
0
Эксперт по электронике
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,489
14.05.2014, 01:59 4
Цитата Сообщение от Aptem19 Посмотреть сообщение
Да, для всех прямоугольников.
Умножьте на величину амплитуды в 4й строке. А что бы второй сигнал был противофазный умножьте на -амплитуду первого. Вроде должно помочь...
0
0 / 0 / 0
Регистрация: 13.05.2014
Сообщений: 4
14.05.2014, 08:58  [ТС] 5
Извините, не понял, что умножить... Вообще я пытался разобраться в синтаксисе pulstran, вроде как при подаче второго аргумента (второй элемент массива)можно указать его амплитуду, у меня же ничего не выходит ( после [0:10]*15e-6 через пробел 0.5) - может быть дело в том, что я использую функцию rectpuls (какую тогда для прямоугольных импульсов), или просто что-то неправильно делаю... Подскажите поподробнее, пожалуйста.
0
Эксперт по электронике
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,489
14.05.2014, 11:07 6
Лучший ответ Сообщение было отмечено Aptem19 как решение

Решение

Попробую сделать это с наименьшими телодвижениями:
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
Fs = 1e9;
t = 0:1/Fs:(10*4e-6);       %начало отсчета: шаг : конец отсчета (количество импульсов)
pulsewidth = 5e-6;          %длина импульса
pulseperiods = 15e-6;       %период сюда как-то добавить изменение амплитуды
A = pi;
x1 = A/2+A/2*square(2*pi*1/pulseperiods*t, pulsewidth/pulseperiods*100);  %Вот этот похож на 1 график
x2 = -A/2-A/2*square(2*pi*1/pulseperiods*t, pulsewidth/pulseperiods*100);
subplot(211)
plot(t.*1e6, x1); axis([0 40 -A A]);
xlabel('\mus'); ylabel('Amplitude');
subplot(212)
plot(t.*1e6, x2); axis([0 40 -A A]);
xlabel('\mus'); ylabel('Amplitude');
0
0 / 0 / 0
Регистрация: 13.05.2014
Сообщений: 4
14.05.2014, 11:23  [ТС] 7
Спасибо! Можете подсказать какой-нибудь ёмкий набор видеоуроков или книжку, с помощью которой я мог бы быстро овладеть азами манипуляции с графиками в матлабе, если нет - ничего страшного, поищу сам.
0
Эксперт по электронике
939 / 839 / 121
Регистрация: 23.11.2012
Сообщений: 2,489
14.05.2014, 11:48 8
Лучший ответ Сообщение было отмечено Aptem19 как решение

Решение

Лучше всего - матлабовский хелп. Если Ваш инглиш ис бэд поищите книги Дьяконова. У него почти тот же хелп. Книг отдельно по графике не припомню, так что смотрите по разделам. Для системности подхода попробуйте разобраться с элементами вот этого дерева + функциями в этом же каталоге справки.
0
14.05.2014, 11:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.05.2014, 11:48
Помогаю со студенческими работами здесь

Преобразование Фурье fft - коэффициент для реального значения амплитуды
Здравствуйте. Строю в маткаде спектр снимаемого сигнала с помощью быстрого преобразования Фурье...

Изменение функции для DllMain
Здравствуйте. Вот есть файл cpp, в нем DllMain: #include "stdafx.h" #include "windows.h"...

Сохранить в массив частоты амплитуды wav файла для последующего построения графика
Привет всем! Помогите разобраться как сохранить в массив частоты амплитуды wav файла для...

График амплитуды
Есть видео, необходимо построить график амплитуды. Идея такая: v = VideoReader(d.mov);...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru