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  След.

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



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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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