Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 08.11.2018, 12:47   #1
Teo888
 
Регистрация: 23.10.2018
Сообщений: 7
Репутация: -28
По умолчанию Переписать из Питона в 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 в 13:23.
Teo888 вне форума   Ответить с цитированием
Старый 08.11.2018, 12:58   #2
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 12,793
Репутация: 2143
По умолчанию

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

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

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

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

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

И, да, что это тема делает в разделе Python, когда у вас вопрос по MQL4 или заказ?
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 08.11.2018, 19:35   #5
pompiduskus
юзер как все
Профессионал
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Адрес: земля
Сообщений: 1,568
Репутация: 663

icq: 446.452.423
По умолчанию

афигеть наглость
__________________
<Дзен - Вся вселенная в тебе > | github.com/ch3ll0v3k | покер: cryptopoker.world
pompiduskus вне форума   Ответить с цитированием
Ответ

Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


15:00.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru