2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему На страницу 1, 2, 3, 4  След.
 
 Не понимаю, как решить разностное уравнение
Сообщение16.09.2023, 21:42 


19/11/20
307
Москва
Рассмотрим линейное разностное уравнение с постоянными коэффициентами:
$y[n]-\frac{3}{4}y[n-1]+\frac{1}{8}y[n-2]=2x[n-1]$
Вычислите $y[n]$ при $n\geq 0$, если $x[n]=\delta [n]$ и $y[n]=0$ при $n<0$

На этом моменте книги (Оппенгейм, Шафер: Цифровая обработка сигналов, Глава 2) z-преобразование не было разобрано, так что его использовать нельзя. Этот момент не очень подробно был разобран в книге, как мне кажется. Вот, что я понял: мы можем представить выход как $y[n]=y_p[n]+y_h[n]$. Тут $y_h[n]$ - решение системы уравнений $\sum\limits_{k=0}^{N}a_ky_h[n-k]=0$, а $y_p[n]$ - это один выход, соответствующий входу $x_p[n]$. Как вычислить на реальном примере - не могу понять.
Рассмотрим систему уравнений. Её решениями, как я понимаю, являются значения $y[n]$, $y[n-1]$ и $y[n-2]$. Как при нулевом входе они могут быть не равны нулю? Разве что если в системе уже были какие-то отсчёты, а потом входной сигнал резко стал нулевым, но это не случай данной задачи.
Как найти $y_p[n]$ тоже не очень понятно. В данном случае входным сигналом является дельта-функция. Какой по счёту выходной отсчёт нужно брать? Нулевой отсчёт выходного сигнала равен нулю, первый - двум и т.д. Не понимаю.

Ответ в учебнике следующий:
$y[n]=8((\frac{1}{2})^n-(\frac{1}{4})^n)u[n]$

 Профиль  
                  
 
 Re: Не понимаю, как решить разностное уравнение
Сообщение16.09.2023, 23:37 


13/01/23
307
Kevsh писал(а):
Рассмотрим систему уравнений. Её решениями, как я понимаю, являются значения $y[n]$, $y[n-1]$ и $y[n-2]$. Как при нулевом входе они могут быть не равны нулю?
Это может быть, если не требовать $y_h[n] = 0$ при $n < 0$, попробуйте построить такой пример.

Если же мы нашли $y_p$ с условием $y_p[n] = 0$ при $n < 0$ (одно, из которого хотим строить все решения, прибавляя $y_h$), то и наши $y_h$ должны удовлетворять $y_h[n] = 0$ при $n < 0$. Тогда, разумеется, $y_h = 0$, так что решение всего одно.
(впрочем, и так понятно, что оно одно, потому что каждый следующий отсчёт однозначно определяется предыдущими)

-- 16.09.2023, 23:48 --

Kevsh писал(а):
Какой по счёту выходной отсчёт нужно брать? Нулевой отсчёт выходного сигнала равен нулю, первый - двум и т.д.
Что значит, какой выходной отсчёт брать? Вам нужно для каждого $n$ определить отсчёт $y[n]$. Вы правильно начали их считать, а просят общую формулу (она указана в ответе в учебнике).

 Профиль  
                  
 
 Re: Не понимаю, как решить разностное уравнение
Сообщение17.09.2023, 01:48 
Заслуженный участник
Аватара пользователя


23/07/08
10910
Crna Gora
Kevsh в сообщении #1609692 писал(а):
Её решениями, как я понимаю, являются значения $y[n]$, $y[n-1]$ и $y[n-2]$.
Нет, это Вы неправильно понимаете. Решением является бесконечная (в обе стороны) последовательность $y$:
$...,y[-4],y[-3],y[-2],y[-1],y[0],y[1],y[2],y[3],y[4],...$
Эту последовательность можно понимать как закон, по которому каждому целому числу $n$ соответствует вещественное число $y[n]$. Закон может быть, например, таким:
$y[n]=\begin{cases}0,&n<0\\8(0.5^n-0.25^n),&n\geqslant 0\end{cases}$

(MATLAB)

На Матлабе последовательность реализуется функцией
function res = y(n)
if n<0
res=0;
else
res=8*(0.5^n-0.25^n);
end
end

А проверка того, что она удовлетворяет разностному уравнению, по крайней мере для небольших $n$, — скриптом
for n=-5:5
disp([n y(n)-3/4*y(n-1)+1/8*y(n-2)])
end

Найдите единственную маленькую незаметную двоечку в правом столбце таблицы, которую выведет этот скрипт.
(Что-то штатными средствами код MATLAB не отображается. :-(

Если Вы для произвольного $n$ можете вычислить $y[n]$, то и $y[n-1], y[n-2]$ тоже! Зависимость $n\mapsto y[n-1]$ дополнительно искать не нужно.

Как было сказано, в данной задаче разностному уравнению удовлетворяет единственная последовательность. Но вообще решение не обязательно единственно. Другое решение — это другая функция, преобразующая $n$ в значение отсчёта. Её надо обозначить какой-то другой буквой (ну, или дополнительным индексом, шляпкой, штрихом и т.д.).
___________________________

Для решения этого уравнения надо уметь решать однородные разностные уравнения с постоянными коэффициентами. Вы можете записать общее решение нашего уравнения, только с нулевой правой частью? (и без условия $y[n]=0$ при $n<0$)

 Профиль  
                  
 
 Re: Не понимаю, как решить разностное уравнение
Сообщение17.09.2023, 04:26 
Заслуженный участник


12/07/07
4530
svv, решение неоднородного уравнения равно сумме общего решения однородного и частного решения неоднородного. Решение однородного разностного уравнения с постоянными коэффициентами много раз обсуждалось на форуме. В книге Оппенгейм, Шафер «Цифровая обработка сигналов» в §2.6 (Линейные разностные уравнения с постоянными коэффициентами) кратко изложена идея, которой для получения решения однородного уравнения данного упражнения достаточно (случай разных действительных корней).

В однородное уравнение
$y_h[n] - \frac 3 4 y_h[n-1] + \frac 1 8 y_h[n-2]=0$
подставляем $y_h[n] = z^n$. Это приводит к $z^2 - \frac 3 4 z + \frac 1 8 =0$.
Это квадратное уравнение имеет два корня: $z_1 = \frac 1 2$ и $z_2 = \frac 1 4$.
Общим решением будет: $y_h[n] = A_1 \left(\frac 1 2 \right)^n + A_2 \left( \frac 1 4 \right)^n$.
Далее на форуме обсуждали поиск частного решения неоднородного уравнения для случая «специальной правой части». Но в данном случае наша правая часть не является такой функцией. И можно воспользоваться методом вариации постоянных. Вот этот метод в книге Оппенгейма и Шафера я не нашёл. И ссылок на литературу с изложением этого метода на форуме я не помню. Можно и не использовать этот метод, но так как на форуме не было, то почему бы и не написать.

 Профиль  
                  
 
 Re: Не понимаю, как решить разностное уравнение
Сообщение17.09.2023, 09:40 
Заслуженный участник
Аватара пользователя


23/08/07
5500
Нов-ск
Kevsh в сообщении #1609692 писал(а):
Рассмотрим линейное разностное уравнение с постоянными коэффициентами:
$y[n]-\frac{3}{4}y[n-1]+\frac{1}{8}y[n-2]=2x[n-1]$
Вычислите $y[n]$ при $n\geq 0$, если $x[n]=\delta [n]$ и $y[n]=0$ при $n<0$

Ответ в учебнике следующий:
$y[n]=8((\frac{1}{2})^n-(\frac{1}{4})^n)u[n]$

Для каких $n$ записано разностное уравнение?
Что такое $x[n]=\delta [n]$? Сеточная функция во всех у узлах равна единице?
Что такое $u[n]$ в ответе? В условии нет такой величины.

 Профиль  
                  
 
 Re: Не понимаю, как решить разностное уравнение
Сообщение17.09.2023, 17:50 


19/11/20
307
Москва
TOTAL
$\delta [n] = 1$ при $n=0$ и $\delta [n] = 0$ при $n\neq0$.
Про сеточную функцию ничего не знаю, ничего такого не было написано.
$u[n]=1$ при $n\geq 0$ и $u[n]=0$ при $n < 0$

 Профиль  
                  
 
 Re: Не понимаю, как решить разностное уравнение
Сообщение17.09.2023, 17:57 
Заслуженный участник
Аватара пользователя


23/08/07
5500
Нов-ск
1

 Профиль  
                  
 
 Re: Не понимаю, как решить разностное уравнение
Сообщение17.09.2023, 18:04 
Заслуженный участник
Аватара пользователя


23/07/08
10910
Crna Gora
GAA
Я про общее решение однородного уравнения спрашивал вот почему. Я хочу предложить ещё один способ. Он основан на том, что правая часть $2\delta[n-1]$ отлична от нуля только при $n=1$, а потому для всех $n\neq 1$ справедливо
$y[n]-\frac{3}{4}y[n-1]+\frac{1}{8}y[n-2]=0$
Подставив сюда $n=0$, получим $y[0]=0$. При $n=2,3,4,...$ это однородное рекуррентное соотношение будет связывать тройки последовательных отсчётов
$y[0],y[1],y[2]$
$y[1],y[2],y[3]$
$y[2],y[3],y[4]$
...
Поэтому при $n=0,1,2,3...$ решение $y$ представимо в виде
$y[n]=Af[n]+Bg[n]$,
где $f[n]=0.5^n, g[n]=0.25^n$ — линейно независимые решения однородного уравнения. (То есть $y[n]$ выглядит как решение однородного уравнения лишь в "зоне постоянства коэффициентов $A,B$" $n\geqslant 0$, которую не удаётся распространить на отрицательные $n$, потому что для тройки $y[-1],y[0],y[1]$ однородное рекуррентное соотношение уже не выполняется.)

Так как $f[0]=g[0]=1, y[0]=0$, то $B=-A$, и $y[n]=A(0.5^n-0.25^n)$.
Подставив $n=1$ в исходное уравнение, получим
$y[1]-\frac{3}{4}y[0]+\frac{1}{8}y[-1]=2$,
или
$y[1]=A(0.5^1-0.25^1)=2$,
откуда $A=8$.

 Профиль  
                  
 
 Re: Не понимаю, как решить разностное уравнение
Сообщение17.09.2023, 18:17 


19/11/20
307
Москва
svv
Мне кажется, что я только что сделал примерно то же самое. Я воспользовался результатом GAA, нашёл $y[0]=0$ и $y[1]=2$ и подставил всё это в уравнение $y_h[n]$. Получилась система из двух уравнений, которая даёт то же решение.

 Профиль  
                  
 
 Re: Не понимаю, как решить разностное уравнение
Сообщение17.09.2023, 18:19 
Заслуженный участник
Аватара пользователя


23/07/08
10910
Crna Gora
Ну, замечательно. :-)

 Профиль  
                  
 
 Re: Не понимаю, как решить разностное уравнение
Сообщение17.09.2023, 19:55 


19/11/20
307
Москва
svv
Заметил одну деталь. При таком подходе реакция системы определяется реакцией на два отсчёта входного сигнала. Получается, что если у нас есть два входных сигнала, входные отсчёты которых равны при двух $n$ (допустим, при $n=0$ и $n=1$), то уравнение получится одинаковым. В данном случае мы можем рассматривать реакцию на $\delta [n]$, а можем рассматривать реакцию на $u[n]$ (функцию Хевисайда). При $n=0$ и $n=1$ для данной системы отклик на эти входные функции будет одинаковый, а вот при $n=2$ уже начнутся отличия. Как в таком случае можно получить реакцию именно на $u[n]$? Можно взять точки $n=1$ и $n=2$, но это всё равно не определит выход однозначно.

 Профиль  
                  
 
 Re: Не понимаю, как решить разностное уравнение
Сообщение17.09.2023, 20:11 
Заслуженный участник
Аватара пользователя


23/08/07
5500
Нов-ск
$$T_{+}\left(E- \frac14 T_{-} \right)\left(E- \frac12 T_{-} \right)y_i = 2x_i$$
$$y_i = 2T_{-}\left(E+ \frac{1}{4} T_{-}+ \frac{1}{4^2} T_{-}^2 + \cdots \right)\left(E+ \frac{1}{2} T_{-}+ \frac{1}{2^2} T_{-}^2 + \cdots  \right)x_i$$
В частном случае $y_i$ равно одному коэффициенту (понятно при какой степени) этого полинома по $T_{-}$ (это оператор уменьшения индекса на $1$)
Если правых частей, которые отличны от нуля, больше, то надо будет искать и суммировать несколько коэффициентов.
А коэффициенты эти имеют вид (здесь без передней двойки)
$$ \frac{1}{4^k}+ \frac{1}{4^{k-1}}\frac{1}{2} + \frac{1}{4^{k-2}}\frac{1}{2^2}\cdots, $$
откуда и ответ

При желании можете записать ответ для задачи в общем виде.
Получите линейную комбинацию $x_i$ с коэффициентам как в ответе (показатели степени разные)

 Профиль  
                  
 
 Re: Не понимаю, как решить разностное уравнение
Сообщение17.09.2023, 23:55 


19/11/20
307
Москва
TOTAL
Честно - вообще ничего не понял :D
Вот похожее уравнение, которое я ещё понимаю:
$(z-\frac{1}{2})(z-\frac{1}{4})=0$
Вернёмся от $z^n$ обратно к $y[n]$:
$(y[n]-\frac{1}{2})(y[n]-\frac{1}{4})=0$
Не понимаю, что такое $E$, откуда там появляется смещение индексов :roll:

 Профиль  
                  
 
 Re: Не понимаю, как решить разностное уравнение
Сообщение18.09.2023, 01:34 
Заслуженный участник
Аватара пользователя


23/08/07
5500
Нов-ск
$$T_{+}\left(E- \frac14 T_{-} \right)\left(E- \frac12 T_{-} \right)y_i = 2x_i$$
Это и есть разностное уравнение, записанное в других обозначениях (мне так удобнее).
$E$ - единичный оператор, а $T_{+}, T_{-}$ сдвигают индекс в большую и меньшую сторону.
Например, $T_{+}y_i = y_{i+1}$.
После умножения как раз получаем уравнение в исходном виде:
$$y_{i+1} - \frac34 y_{i} +  \frac18 y_{i-1} = 2x_i$$
Обратный оператор к $$E- \frac14 T_{-}$$
равен
$$E+ \frac{1}{4} T_{-}+ \frac{1}{4^2} T_{-}^2 + \cdots $$
Итого получаем выражение для $y_{i}$ через $x_{i}$ с меньшими индексами (здесь $x_i$ могут быть вообще любыми каждое)
$$y_i = 2T_{-}\left(E+ \frac{1}{4} T_{-}+ \frac{1}{4^2} T_{-}^2 + \cdots \right)\left(E+ \frac{1}{2} T_{-}+ \frac{1}{2^2} T_{-}^2 + \cdots  \right)x_i$$
Можно и так ответ переписать
$$y_{i} =8 \sum_{k=1}^\infty \left(\frac{1}{2^k}- \frac{1}{4^k} \right)x_{i-k}$$

 Профиль  
                  
 
 Re: Не понимаю, как решить разностное уравнение
Сообщение18.09.2023, 03:24 
Заслуженный участник
Аватара пользователя


23/07/08
10910
Crna Gora
Kevsh в сообщении #1610182 писал(а):
Заметил одну деталь. При таком подходе реакция системы определяется реакцией на два отсчёта входного сигнала. Получается, что если у нас есть два входных сигнала, входные отсчёты которых равны при двух $n$ (допустим, при $n=0$ и $n=1$), то уравнение получится одинаковым.
Эту мысль я не совсем понял, но думаю, что это неверно.
Реакция системы $y[n]$ определяется реакциями $y[n-1]$ и $y[n-2]$? Хорошо, допустим (ещё значением $x[n-1]$, но ладно). Но реакции $y[n-1]$ и $y[n-2]$ вовсе не определяются лишь входными отсчётами $x[n-1]$ и $x[n-2]$. Тем не менее, Вы дальше говорите о двух сигналах, у которых совпадают именно входные отсчёты.
Kevsh в сообщении #1610182 писал(а):
Как в таком случае можно получить реакцию именно на $u[n]$?
В этом случае для всех $n\geqslant 1$ можно написать:
$y[n]-\frac{3}{4}y[n-1]+\frac{1}{8}y[n-2]=2$
Это неоднородное уравнение. Сделаем замену $y[n]=z[n]+a$, при этом $a$ подберём так, чтобы уравнение для $z$ превратилось в однородное. Так будет при $(1-\frac 3 4+\frac 1 8)a=2$, то есть при $a=\frac{16}3$. Общее решение однородного уравнения $z[n]=A\left(\frac 1 2 \right)^n + B\left(\frac 1 4 \right)^n$
Возвращаясь к $y[n]$, получим
$y[n]=\frac{16}3+A\left(\frac 1 2 \right)^n + B\left(\frac 1 4 \right)^n,\quad n\geqslant -1$
Отсюда уже легко найти $A$ и $B$, а заодно очевиден предел $\lim\limits_{n\to+\infty} y[n]$.

Вопрос для самопроверки. Последняя формула, если в неё подставить правильные $A$ и $B$, будет верна для всех $n\geqslant -1$ (даже для отрицательного $n=-1$). Почему в этом можно быть уверенным ещё до того, как мы её вывели?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 58 ]  На страницу 1, 2, 3, 4  След.

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: YandexBot [bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group