С Новым годом! Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 21.04.2015
Сообщений: 3
1

MatLab: сложить графики, один из которых составлен через цикл. цифровой сигнал складываем с аналоговым

21.04.2015, 19:07. Показов 2188. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! у меня есть задание по тэц - есть сигнал и к нему нужно просто прибавить помеху. Это цифровой сигнал, он идет прямоугольниками

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
42
43
44
45
46
47
>> % Построение цифрового сигнала
>> % Код из 8 символов
>> K = [0 0 1 1 0 0 1 1];
>> % Уровень 1
>> U1=5;
>> % Уровень 0
>> U2 = -5;
>> % Длительность элементарного символа сигнала
>> dt = 0.1;
>> % Период сигнала
>> T=10*dt;
>> S1 = K*U1;
>> S2 = S1+U2;
>> S = S1+S2;
>> % Временной интервал
>> t = linspace(0,T, 200);
>> for i = 1:200
if t(i)<dt
u(i)=S(1);
end
if t(i)>=dt & t(i)<2*dt
u(i)=S(2);
end
f t(i)>=2*dt & t(i)<3*dt
u(i)=S(3);
end
if t(i)>=3*dt & t(i)<4*dt
u(i)=S(4);
end
if t(i)>=4*dt & t(i)<5*dt
u(i)=S(5);
end
if t(i)>=5*dt & t(i)<6*dt
u(i)=S(6);
end
if t(i)>=6*dt & t(i)<7*dt
u(i)=S(7);
end
if t(i)>=7*dt & t(i)<8*dt
u(i)=S(8);
end
if t(i)>8*dt
u(i)=0;
end
end
>> plot(t*10,u)
>> grid on
вот так мне помогли построить цифровой сигнал

это график помехи
Matlab M
1
2
3
4
5
6
7
8
9
>> syms t1
>> n=14;     'не обращайте на эти строчки внимания, это мой вариант, с помощью этого я задаю промежуток .
>> f1=(15+7*log10(n+1))*10^3; '
>> T1=1/f1;
>> wx = 101585.9080;
>> x1=@(t1)1.5*cos(wx.*t1); 
>> t1=0:0.000001:10*T1; ' вот этот промежуток
>> X1 = x1(t1);
>> plot(t1,X1)
в общем, как я понимаю, та программа, с помощью которой я строю цифровой сигнал, она сразу выстраивает линию из linespace. и я даже начинаю подумывать, что сложить эти графики невозможно. Попытки всунуть в эти строчки построения цифрового сигнала формулу графика помехи ничем хорошим не увенчались - матлаб игнорировал и строил его как обычно. Если вы сможете помочь, можете даже соединить обычный график с этим цифровым сигналом - дальше я разберусь.
Миниатюры
MatLab: сложить графики, один из которых составлен через цикл. цифровой сигнал складываем с аналоговым   MatLab: сложить графики, один из которых составлен через цикл. цифровой сигнал складываем с аналоговым  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.04.2015, 19:07
Ответы с готовыми решениями:

Найти все функции f(x), графики графики которых проходт через точку В, если:
f'(x)=4{x}^{2}-9{x}^{-2}, B(3;-2)

Подскажите как в Matlab пропустить через рассчитанный фильтр такой сигнал: 101011001101001?
пишу диплом. сам фильтр(цифровой фнч) удалось рассчитать. пропустить синусоиду для проверки...

Как перемножить, сложить и т.д несколько чисел через один textbox?
Как перемножить, сложить и т.д несколько чисел через один textbox?

Собственно как сделать, через цикл сложить и на каждый элемент повесить клик???
//for formenu = formenu+document.createElement('div').addEventListener('click',...

2
533 / 438 / 47
Регистрация: 17.07.2013
Сообщений: 2,236
22.04.2015, 17:25 2
plot(t*10,u, t1,X1)

Добавлено через 1 минуту
Цитата Сообщение от remi Посмотреть сообщение
X1 = x1(t1);
А тут МL не ругается?

Добавлено через 5 минут
Цитата Сообщение от remi Посмотреть сообщение
матлаб игнорировал и строил его как обычно
MATLAB все правильно делает, ошибка у Вас. Посмотрите значения по оси Х, они отличаются на 4 порядка! Растяните ось Х в самом начале и увидите сигнал шума
0
0 / 0 / 0
Регистрация: 21.04.2015
Сообщений: 3
25.04.2015, 17:29  [ТС] 3
нет, он там не ругается
нет, если сделать plot, (ну и выбрать правильный диапазон, как вы сказали)то эти графики просто нарисуются вместе, а нужно их сложить
и я должна была вообще показать, как именно мне нужно их сложить
ну в общем, все равно спасибо большое!=) я немного попозже догадалась, как сделать)
вот так:
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
% Построение цифрового сигнала
% Код из 8 символов
 K = [0 0 1 1 0 0 1 1];
% Уровень 1
 U1=5;
 % Уровень 0
 U2 = -5;
 % Длительность элементарного символа сигнала
 dt = 0.1;
 % Период сигнала
 T=10*dt;
 S1 = K*U1;
 S2 = S1+U2;
 S = S1+S2;
 % Временной интервал
 t = linspace(0,T, 200);
for i = 1:200
if t(i)<dt
u(i)=S(1);
end
if t(i)>=dt & t(i)<2*dt
u(i)=S(2);
end
if t(i)>=2*dt && t(i)<3*dt
u(i)=S(3);
end
if t(i)>=3*dt & t(i)<4*dt
u(i)=S(4);
end
if t(i)>=4*dt & t(i)<5*dt
u(i)=S(5);
end
if t(i)>=5*dt & t(i)<6*dt
u(i)=S(6);
end
if t(i)>=6*dt & t(i)<7*dt
u(i)=S(7);
end
if t(i)>=7*dt & t(i)<8*dt
u(i)=S(8);
end
if t(i)>8*dt
u(i)=0;
end
end
 % Зададим параметры для аналогового сигнала и помехи
 n=14;
 % Аналоговый сигнал
 n=14;
 f1=(15+7*log10(n+1))*10^3;
omega1=2*pi*f1;
% Помеха
wx = 101585.9080;
% Временной интервал
t = linspace(0,T, 200);
for i = 1:200
if t(i)<dt
a(i)=S(1)+(n/9)*cos((1.2*omega1)*i)+(n/7)*cos((1.3*omega1)*i)-(n/4)*cos(omega1*i) + 1.5*cos(wx*i);
end
if t(i)>=dt & t(i)<2*dt
a(i)=S(2)+(n/9)*cos((1.2*omega1)*i)+(n/7)*cos((1.3*omega1)*i)-(n/4)*cos(omega1*i) + 1.5*cos(wx*i);
end
if t(i)>=2*dt & t(i)<3*dt
a(i)=S(3)+(n/9)*cos((1.2*omega1)*i)+(n/7)*cos((1.3*omega1)*i)-(n/4)*cos(omega1*i)+ 1.5*cos(wx*i);
end
if t(i)>=3*dt & t(i)<4*dt
a(i)=S(4)+(n/9)*cos((1.2*omega1)*i)+(n/7)*cos((1.3*omega1)*i)-(n/4)*cos(omega1*i) + 1.5*cos(wx*i);
end
if t(i)>=4*dt & t(i)<5*dt
a(i)=S(5)+(n/9)*cos((1.2*omega1)*i)+(n/7)*cos((1.3*omega1)*i)-(n/4)*cos(omega1*i) + 1.5*cos(wx*i);
end
if t(i)>=5*dt & t(i)<6*dt
a(i)=S(6)+(n/9)*cos((1.2*omega1)*i)+(n/7)*cos((1.3*omega1)*i)-(n/4)*cos(omega1*i) + 1.5*cos(wx*i);
end
if t(i)>=6*dt & t(i)<7*dt
a(i)=S(7)+(n/9)*cos((1.2*omega1)*i)+(n/7)*cos((1.3*omega1)*i)-(n/4)*cos(omega1*i)+ 1.5*cos(wx*i);
end
if t(i)>=7*dt & t(i)<8*dt
a(i)=S(8)+(n/9)*cos((1.2*omega1)*i)+(n/7)*cos((1.3*omega1)*i)-(n/4)*cos(omega1*i) + 1.5*cos(wx*i);
end
if t(i)>8*dt
a(i)=(n/9)*cos((1.2*omega1)*i)+(n/7)*cos((1.3*omega1)*i)-(n/4)*cos(omega1*i) + 1.5*cos(wx*i);
end
end
 plot(t*10,u,t*10,a)
 grid on
Миниатюры
MatLab: сложить графики, один из которых составлен через цикл. цифровой сигнал складываем с аналоговым  
0
25.04.2015, 17:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.04.2015, 17:29
Помогаю со студенческими работами здесь

Построить графики меняя параметр через цикл for
Здравствуйте. Никак не могу разобраться, как через цикл for построить набор графиков. Меняется...

Не правильно составлен цикл While и добавление элементов в массив
Помогите пожалуйста с правильным добавление ответа функции в массив. И в правильным условием n. ...

Аналоговый сигнал в цифровой
Подскажите пожалуйста как из синуса сделать меандр! Имею генератор сигналов собранный на Atmega8...

Цифровой сигнал в ШИМ
Доброго времени суток комрады. Интересует меня вот такой вопрос: есть три цифровых сигнала с...

Цифровой сигнал в КОИ-8
Добрый день, столкнулся с такой проблемой:Нужно в simulink построить схему для передачи своей...

Цифровой сигнал или аналоговый
Всем привет. Не так давно начал разработку одного узконаправленного устройства. И сейчас всплыла...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru