Вверх ↑
Ответов: 8926
Рейтинг: 823
#1: 2022-10-12 00:14:27 ЛС | профиль | цитата
tig-rrr, при шумах длительностью более одного такта ошибётся
Экспонентный фильтр (a+b=1)


Add(MainForm,6712647,301,49)
{
Width=872
Height=521
Caption="Пример работы медианного фильтра"
}
Add(Plotter,12776507,791,63)
{
Width=856
Height=482
Align=5
Name="PL"
MinH=-2
MaxH=2
}
Add(PlotLines,7443287,791,119)
{
Grapher="PL"
Step=1
MaxValues=1000
}
Add(Random,5161000,518,56)
{
Min=-20
Max=20
link(onRandom,9457097:doOperation,[])
}
Add(Timer,15468176,364,49)
{
Interval=10
link(onTimer,4129583:doEvent1,[])
}
Add(PlotLines,14333504,791,168)
{
Grapher="PL"
Color=32768
Size=3
Step=1
MaxValues=1000
}
Add(Hub,7432474,609,119)
{
OutCount=3
link(onEvent1,7443287:doAdd,[])
link(onEvent2,14441308:doOperation,[(676,132)(676,174)])
link(onEvent3,7132472:doOperation,[(669,139)(669,223)])
}
Add(MultiElementEx,3636491,735,168)
{
@Hint=#16:Медианный фильтр|
link(onOut,14333504:doAdd,[])
AddHint(-50,51,114,13,@Hint)
}
BEGIN_SDK
Add(EditMultiEx,3344294,21,21)
{
WorkCount=#4:doIn|
EventCount=#5:onOut|
Width=328
Height=298
link(doIn,13526129:doValue,[(42,27)(42,41)])
}
Add(Math,6843322,63,259)
{
OpType=39
link(onResult,10457593:doWork2,[])
link(Op1,347705:Var2,[])
link(Op2,14694163:Var1,[(76,124)])
}
Add(Math,15407014,98,147)
{
OpType=39
link(onResult,11177945:doOperation,[])
link(Op1,12502970:Var3,[(104,103)])
link(Op2,2539272:Var2,[])
}
Add(Math,11177945,140,147)
{
OpType=39
link(onResult,15884267:doCompare,[(181,153)(181,187)(86,187)(86,209)])
link(Op1,14928275:Var3,[(146,103)])
link(Op2,14694163:Var2,[])
}
Add(GetDataEx,12502970,63,98)
{
link(Data,13526129:Value1,[])
}
Add(GetDataEx,14928275,105,98)
{
link(Data,13526129:Value2,[(111,84)(76,84)])
}
Add(GetDataEx,14694163,147,119)
{
link(Data,8383875:Var2,[])
}
Add(If_else,15884267,98,203)
{
link(onTrue,6843322:doOperation,[(145,209)(145,241)(45,241)(45,265)])
link(onFalse,6330053:doOperation,[])
link(Op1,15407014:Result,[])
link(Op2,11177945:Result,[(111,194)(146,194)])
}
Add(Math,6330053,182,210)
{
OpType=38
link(onResult,8277000:doOperation,[])
link(Op1,347705:Var3,[(188,117)])
link(Op2,8383875:Var3,[(195,103)])
}
Add(GetDataEx,347705,63,112)
{
link(Data,12502970:Var2,[])
}
Add(GetDataEx,8383875,147,98)
{
link(Data,13526129:Value3,[(153,75)(83,75)])
}
Add(Math,8277000,238,210)
{
OpType=39
link(onResult,10457593:doWork1,[(284,216)])
link(Op1,6330053:Result,[(244,195)(225,195)(225,253)(188,253)])
link(Op2,2539272:Var3,[(251,131)])
}
Add(GetDataEx,2539272,105,126)
{
link(Data,14928275:Var2,[])
}
Add(HubEx,10457593,280,259)
{
link(onEvent,3344294:onOut,[(334,265)(334,27)])
}
Add(MemFIFO,13526129,63,35)
{
Default=Integer(0)
Count=3
link(onData,15407014:doOperation,[(120,41)(120,92)(46,92)(46,153)])
}
Add(InfoTip,10949533,161,35)
{
Info=#17:Медианный фильтр |7:tig-rrr|
Font=[MS Sans Serif,10,1,0,1]
HAlign=2
Width=162
Height=46
Margin=5
}
Add(Icon,13038747,280,98)
{
@Hint=#5:#main|
Icon=[ZIPDE06000078DA636060044209090620C9C170828D81418C818141038881420C060C1071FCE03F83C8158651300A46C1281800C0C84891381304E012874BA399804D12C9045CE2346153121A0309FEFFFFCFF01D8C7F331C00D63420FAFB9FFF70FC81078819E419BE032BA2EFF60F80F8332AFE0FC3FF191E43CDFA8F840136823FD6]
}
END_SDK
Add(CounterEx,1087479,413,119)
{
Max=628
link(onNext,1598210:doOperation,[])
}
Add(Math,16233310,518,119)
{
OpType=13
link(onResult,5849793:doOperation,[])
}
Add(Math,1598210,469,119)
{
OpType=3
Op2=100
link(onResult,16233310:doOperation,[])
}
Add(CounterEx,12141963,462,49)
{
Max=70
Point(onThroughMax)
link(onThroughMax,5161000:doRandom,[])
}
Add(Hub,4129583,420,49)
{
OutCount=3
link(onEvent1,12141963:doNext,[])
link(onEvent2,1087479:doNext,[(446,62)(446,94)(401,94)(401,125)])
link(onEvent3,9457097:doDefault,[])
}
Add(Math,9457097,574,56)
{
OpType=3
Op2=10
Point(doDefault)
}
Add(Math,5849793,567,119)
{
link(onResult,7432474:doEvent1,[])
link(Op2,9457097:Result,[])
}
Add(Math,14441308,686,168)
{
Op2=0.1
link(onResult,3636491:doIn,[])
}
Add(Math,7132472,686,217)
{
Op2=0.2
link(onResult,4273938:doCalc,[])
}
Add(MathParse,4273938,735,217)
{
MathStr="%0*0.92 + %1*0.08"
link(onResult,8810067:doAdd,[])
}
Add(PlotLines,8810067,791,217)
{
Grapher="PL"
Color=16711680
Size=3
Step=1
MaxValues=1000
}

карма: 19

1
Голосовали:tig-rrr