powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / как отфильтровать зная дисперсию сигнала
4 сообщений из 4, страница 1 из 1
как отфильтровать зная дисперсию сигнала
    #38061562
spyker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет, вообщем вот такой вопрос:

у меня есть сигнал с шумом, мне нужно его отфильтровать по дисперсии:
написал в программе так: посчитал дисперсию сигнала с шумом, посчитал энергию сигнала с шумом, если дисперсия больше энергии зануляем

так это нужно было сделать?
...
Рейтинг: 0 / 0
как отфильтровать зная дисперсию сигнала
    #38061624
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тема С++ не прослеживается. Дополните вопрос.
...
Рейтинг: 0 / 0
как отфильтровать зная дисперсию сигнала
    #38061642
spyker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
mayton,

дополнил
...
Рейтинг: 0 / 0
как отфильтровать зная дисперсию сигнала
    #38061646
spyker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вот код который реализовал
Код: plaintext
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.
vector<pair<double,double>>ENERGY(vector<double>A,vector<double>B,vector<pair<double,double>>C,int Fd)
{

	double e_s,
	sum_s=0,
	g=0; //пробуем считать СКО
	double xj=0;
	for(int i=0;i<A.size();i++)
	{
		sum_s+=abs(A[i]);
                //sum_s+=A[i]*A[i];
	}
	e_s=(sum_s/A.size())*0.95; //я оставил 95 процентов энергии сигнала

	for(int i=0;i<B.size()/2;i++)
	{

		g+=sqrt(B[i]*B[i]-(B[i]*B[i])/(B.size()));

		if(g>e_s) //сравниваем каждый шаг подсчета модуля АЧХ с энергией сигнала
		{
			C[i].first=0;
			C[i].second=0;
		}
	}
	g=0;
	for(int i=B.size()-1;i>B.size()/2;i--)
	{
		g+=sqrt(B[i]*B[i]-(B[i]*B[i])/(B.size()));

		if(g>e_s) //сравниваем каждый шаг подсчета модуля АЧХ с эенргией сигнала
		{
			C[i].first=0;
			C[i].second=0;
		}
	}

	return C;
}


Модератор: Отформатировано
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / как отфильтровать зная дисперсию сигнала
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]