Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.11.2018, 11:47   #1
Teo888
 
Регистрация: 23.10.2018
Сообщений: 7
По умолчанию Переписать из Питона в MQL4

Всем добрый день. Помогите пожалуйста переписать КОД вот этого RC - Фильтра 2-го порядка из Питоновского языка на язык MQL4:

БИХ Фильтры 2-го порядка - http://howtodoit.com.ua/tsifrovoy-filtr-2-poryadka/

Код:
import copy
import numpy as np
import matplotlib.pyplot as plot
 
Fs = 8000 # Sampling frequency (Hz)
Fc = 2000 # Cutoff frequency (Hz)
 
T = 1.0/Fs
 
N = Fs # Number of samples per 1 s
 
x = range(0, N)
y = range(0, N)
y1 = range(0, N)
y2 = range(0, N)
 
f1 = 100 # Hz
f2 = 3500 # Hz
 
N_TO_DISPLAY = 2*Fs/f1
 
# Generating test signal
for t in range(0, N):
    x[t] = (np.sin(2.0*np.pi*f1*t/Fs) + np.sin(2.0*np.pi*f2*t/Fs))/2.0
 
# Calculating necessary values for filter
dt = 1.0/Fs
tau = 1.0/(2.0*np.pi*Fc)
alpha = dt / (dt + 2*tau)
 
# Applying filter
for i in range(1, N):
    y[i] = alpha*(x[i]+x[i-1]) + (1-2*alpha)*y[i-1]
 
#copying the filtered result after 1st order LPF
y1 = copy.copy(y)
 
#direct filtering formula for the 2nd order RC LPF without any optimization
#for i in range(2, N):
#    y[i] = (pow(T,2)*x[i] + 2*pow(T,2)*x[i-1] + pow(T,2)*x[i-2] - (2*pow(T,2)-8*pow(tau,2))*y[i-1] - (pow(T,2)-4*T*tau+4*pow(tau,2))*y[i-2]) / (pow(T,2)+4*T*tau+4*pow(tau,2))
 
alpha = (T-2*tau)/(T+2*tau)
 
#filtering formula for the 2nd order RC LPF with some sort of optimization
for i in range(2, N):
    y[i] = pow((1+alpha)/2,2)*(x[i]+2*x[i-1]+x[i-2]) - 2*alpha*y[i-1] - pow(alpha,2)*y[i-2]
 
#copying the filtered result after 2nd order LPF
y2 = copy.copy(y)
 
# Drawing original and filtered signals
plot.clf()
plot.xlabel("Time")
plot.ylabel("Sample value")
plot.plot(x[0:N_TO_DISPLAY], 'r')
plot.plot(y1[0:N_TO_DISPLAY], 'g')
plot.plot(y2[0:N_TO_DISPLAY], 'b')
plot.draw()
______________________
Используйте тег [CODE] (кнопка с решеткой # в форме сообщения) при вставке кода на форум.

Последний раз редактировалось Alex11223; 08.11.2018 в 12:23.
Teo888 вне форума Ответить с цитированием
Старый 08.11.2018, 11:58   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

А зачем вы взяли пример на языке, которого не знаете и даже не пытаетесь разобраться? Вы же даже не просто формулу взяли, а весь код с выводом/графиком...

А вообще код простейший. Массивы есть, циклы есть, MathSin есть, MathPow есть и т.д.
p51x вне форума Ответить с цитированием
Старый 08.11.2018, 15:14   #3
Teo888
 
Регистрация: 23.10.2018
Сообщений: 7
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
А зачем вы взяли пример на языке, которого не знаете и даже не пытаетесь разобраться? Вы же даже не просто формулу взяли, а весь код с выводом/графиком...

А вообще код простейший. Массивы есть, циклы есть, MathSin есть, MathPow есть и т.д.
Я не прошу меня критиковать за обращение за помощью - я прошу кого-нибудь помочь мне. Рассуждать по поводу мотива моих действий можно до бесконечности - а вот взять и помочь... Короче ясно - одни трипачи.
Teo888 вне форума Ответить с цитированием
Старый 08.11.2018, 15:30   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

Я даже вам функции назвал из MQL4, которые вам нужны, а вы потрудились элементарно доку посмотреть. Ппц.
Вообще, с такими запросами вам однозначно в фриланс.

И, да, что это тема делает в разделе Python, когда у вас вопрос по MQL4 или заказ?
p51x вне форума Ответить с цитированием
Старый 08.11.2018, 18:35   #5
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

афигеть наглость
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
pompiduskus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ребята помогите перевести с Питона на Паскаль Nadin1985 Помощь студентам 1 25.06.2018 09:47
5 долларов (wmz) за mql4 робота qwedsa33 Фриланс 9 14.05.2018 21:45
люди кто сможет перевести код с питона на с++ bekabeka Помощь студентам 3 06.03.2017 18:52
Как установить скрипт Питона Владислав Темный Windows 1 26.07.2013 09:50
Написание робота на MQL4 под МТ4 Tidus Общие вопросы C/C++ 0 20.08.2010 02:25