Tuesday, 26 December 2017

Binary alternativ kontotyper


Kontotyper Light Options uppskattar varje kund och våra konton är skräddarsydda så att du väljer det bästa för dina investeringsmål. Att ha ett konto med Light Options innebär att du har avancerade handelsverktyg och flerspråkigt kundsupport. För dem som donrsquot har tid att handla själva erbjuder vi förvaltade konton som heter Extended accounts. Öppna ett konto hos oss och låt Light Options lätta dig till framgång Standard Open 100 bonus Handelsstöd Handelssignaler En 50 Försäkrad handel 50-5000 Extended Open 100 bonus Personlig kontochef VIP Trading Two 100 Försäkringshandel Gratis försök 5000 Ansvarsfriskrivning. Handel på finansiella marknader inklusive binära optioner innebär stor risk för förlust och kan inte vara lämplig för alla investerare. Om du inte fullt ut förstår och erkänner ovanstående bör du kontakta din kontoansvarig eller söka råd från oberoende konsulter. Det är uttryckligen rekommenderat att du aldrig ska investera pengar som du inte har råd att förlora. Läs våra användarvillkor noga innan du börjar handla. Det är alla aktörers ansvar att se till att deras interaktion med Light Options strängt ligger inom lagen i sitt hemland. Traders bör vara medvetna om eventuella individuella skatteförmögenhetsskulder i sitt hemland. DANGUARD LIMITED. 13 John Princes Street, 2: a våningen, London W1G oJR. England. Storbritannien Copyright 2017 Alla rättigheter förbehållna. Öppna nytt kontoFörsäkringsvillkor. Ok-alternativ är ett varumärke av DANGUARD LIMITED. 13 John Princes Street, 2: a våningen, London W1G oJR. England. Ok-alternativ erbjuder dig binär handel på över 150 tillgångar från börser och marknader runt om i världen. Trading Binär Options är en mycket spekulativ verksamhet, den har en hög risknivå och kan leda till förlusten av hela din investering. Dessa produkter kanske inte är lämpliga för alla och du bör fullt ut förstå riskerna och bara investera pengar som du har råd att förlora. Du bör bli medveten om alla risker som är förknippade med binär optionshandel och söka självständig rådgivning om det behövs. Vänligen gör dig bekant med vår Risk Disclosure Policy innan du öppnar ett konto. Det är alla aktörers ansvar att se till att deras interaktion med Ok Options strikt ligger inom lagen i sitt hemland. Copyright 2017 Alla rättigheter förbehållna. Aktiva konton: 32089 Handelsvolym: 1,220,230.00Accounttyper Kunder som öppnar och finansierar ett Standard-, Premium - eller VIP-konto är berättigade att ansöka om en kontant matchbonus på upp till 100 av deras ursprungliga insättning. På OptionTrade tror vi att du alltid ska kunna dra tillbaka din första insättnings - och handelsvinst, även om du har accepterat Cash Match Bonus. Vi håller helt enkelt din handelsbonus säker i ett separat Cash Match-konto tills du når den önskade volymen, varefter bonusen blir din för handel eller uttag. Klicka här för att lära dig mer. Minsta insättning 200 Cash Match Bonus Problemfri uttag Kundskyddsförsäkring Flera konton, en inloggning Utbetalning upp till: 83 OptionTrade Academy: Introduktion Gratis videotillbehör eBook Webinars: Nivå 1 Personlig träning: Nivå 1 Konto Valuta: USD, EUR, GBP Minsta insättning 1000 Cash Match Bonus Problemfri uttag Kundskyddssäkring Multipla konton, ett inloggning Utbetalning upp till: 85 OptionTrade Academy: Grundutbildning Gratis videouppdrag eBook Webinars: Nivå 2 Personlig träning: Nivå 2 Konto Valuta: USD, EUR, GBP Minsta insättning 5000 Cash Match Bonus Problemfri utbetalning Klientsäkerhetsförsäkring Flera konton, en inloggning Utbetalning upp till: 88 OptionTrade Academy: Avancerad träning Gratis videotutorials eBook Webinars: Nivå 3 Personlig träning: Obegränsad Konto Valuta: USD, EUR, GBP Riskvarning: Trading Binär Alternativ kan inte vara lämpliga för alla investerare eftersom det medför en stor risk för din kapital. Att handla sådana produkter är riskabelt och du kan förlora all din investering. Läs hela riskinformationen

Monday, 25 December 2017

Alternativ handelsstoppades


Hur man köper alternativ Puttar, samtal, slumppris, pengar, köpta och sälja aktieoptioner är inte bara ett nytt territorium för många investerare, det är ett helt nytt språk. Alternativ ses ofta som snabba, snabba pengar. Visst alternativ kan vara aggressiva spelar de är flyktiga, levered och spekulativa. Optioner och andra derivatinstrument har gjort förmögenheter och förstört dem. Alternativ är skarpa verktyg, och du behöver veta hur du använder dem utan att missbruka dem. Optionsoptioner ger dig rätt, men inte förpliktelsen att köpa eller sälja aktier till ett bestämt dollarbelopp, streckkursen före ett visst utgångsdatum. Alternativets skönhet är att du kan delta i en aktiekursrörelse utan att egentligen hålla aktierna, till en bråkdel av ägandekostnaden, och den berörda hävstången ger möjlighet till stora vinster. Självklart kommer det inte att bli gratis. Ett optionsvärde och din vinstpotential påverkas av hur mycket aktiekursen rör sig, hur lång tid det tar och volatiliteten i aktierna. Heres vad man ska titta på: Välja en mäklare: Du kan snabbt komma i problem med alternativ om du insisterar på att vara en själv-investerare utan att göra de läxor som krävs. Handel nära utgången: Ett alternativ har värde tills det löper ut, och veckan före utgången är en kritisk tid för aktieägare som har skrivit telefonsamtal. Utdelningsbetalande aktier: Det kan vara veckor tills ditt omfattande samtal löper ut, men om det i pengarna är ditt lager troligen kommer att ringas bort dagen innan företaget betalar kvartalsvis utdelning. Marknadsförhållanden: Det finns ingen strategi som fungerar i alla marknadsmiljöer. Oavsett om du är bullish, neutral eller baisse om aktierna, kommer du att styra dina alternativ investeringsbeslut. Copyright kopia 2017 MarketWatch, Inc. Alla rättigheter förbehållna. Genom att använda denna webbplats godkänner du användarvillkoren. Sekretesspolicy och Cookie Policy. Intradag Data tillhandahållen av SIX Financial Information och med förbehåll för användarvillkor. Historisk och aktuell slutändad data tillhandahållen av SIX Financial Information. Intradagdata fördröjd per utbytesbehov. SPDow Jones Index (SM) från Dow Jones Company, Inc. Alla citat är i lokal utbytes tid. Realtids senaste försäljningsdata från NASDAQ. Mer information om NASDAQ-handlade symboler och deras nuvarande finansiella status. Intradagdata försenas 15 minuter för Nasdaq, och 20 minuter för andra utbyten. SPDow Jones Index (SM) från Dow Jones Company, Inc. SEHK intraday data tillhandahålls av SIX Financial Information och är minst 60 minuter försenad. Alla citat är i lokal utbytes tid. MarketWatch Top Stories Varför du bör undvika att handla veckovisa alternativ Jag vet inte om du är enig82308230 8230 .. men det verkar som om du vänder dig, termen inkomsthandel handlas runt, bland alternativ educators8230 Helvete, jag har precis fått ett e-postmeddelande från ett ordstäv, Learn att använda alternativ för vecko och månad inkomstgenerering. Vi kan vara riktiga, vi vet båda att det är en helt enkelt marknadsföringsklicka för att få din uppmärksamhet. Med det sagt har inkomsthandeln blivit mycket populär, särskilt för dem som handlar veckovisa alternativ. Låt oss möta det, locket av försäljningsalternativ och insamlingsalternativspremie varje vecka låter ganska sött Men det är en sak8230 8230 i de flesta situationer är försäljning av veckoprogram mycket mer riskfyllda än månatliga alternativ. Om du har läst Fearless Investing With Options. du vet att jag inte tror på slumpmässigt sålt alternativ premium8230week in och week out. Jag cringe alltid när jag hör historier om handlare som säljer samma alternativ på samma underliggande varje vecka. Till exempel har Ive hört talas om några handlare som säljer samtal nakna på Apple varje torsdag, när de köpa tillbaka sina alternativ (eller få dem att gå ut värdelösa) på fredagen. Som du vet, vid utgången av dagen, kommer alternativen antingen stänga i pengarna eller utgå värdelösa. Med det sagt, underförstådd volatilitet bör inte vara din största oro under de senaste flera dagarna före utgången. Mer specifikt är det viktigt att vara uppmärksam på Gamma av alternativen du är in. Gamma är ett alternativ grekiskt som hänvisar till förändringshastigheten i Delta för varje 1 drag i underliggande. Gamma är förhållandet mellan förändringen i Delta som förändringar i aktiekursen. Alternativ som har mer tid till utgången (som månadsvis) är mindre känsliga för Gamma, men alternativ som ligger nära utgången kommer att vara mycket känsligare för Gamma. Till exempel, på fredagen den 13 februari 2015, handlade Apple runt 125.81 med mindre än två timmar till utgången. På-pengarna 126 samtal hade ett värde av omkring 0,20. Vissa näringsidkare kan ha sett detta ett enkelt tillfälle att samla 0,20, genom att sälja premie. Men det var aldrig så enkelt, Apple rallied över en dollar och stängde över 127 en aktie. Dessa alternativ gick från 0,20 till över 1 och ändra. Föreställ dig, gå ut för en timme eller så. Bara komma tillbaka för att se läget gå emot dig för en stor förlust på bara ett litet 1 drag. Merparten av tiden flyttar inte aktierna och dessa alternativ upphör att vara värdelösa. Det är därför som det inte är meningsfullt att vara en köpare av den typen av alternativ. När du säljer alternativ måste du vara strategisk. Du vill inte sälja alternativ eftersom du tycker om sina lätta pengar. Du måste också faktor i transaktionskostnaderna för billiga alternativ. Det är provisioner och vad du kommer att förlora på budskapets spridning. Detta kommer att minska det totala premie du har samlat in. Inte bara det, det gör beslutet att köpa tillbaka dina alternativ mycket svårare. Du ser, efter att du har tagit med dina transaktionskostnader, kanske du är tvungen att behålla positionen längre, i hopp om att samla allt premie. Men om du har läst större vinster på kortare tid på dina alternativaffärer. nu är det inte rätt sätt. Få tillgång till din kostnadsfria eBook för att sizzling Weekly Options Trades 34-sidiga eBook lär dig vilka strategier som fungerar bäst med veckotillfällen Föreställ dig att vara nakna korta närstående alternativ och börsen stannar. Kanske, de är involverade i en buyout, har nyheter från en pågående rättsakt, förutgå deras resultatrapport eller vad som helst. Du har helt enkelt inte tid att göra justeringar av allt, du var kompenserad nog för att ta risken. Det är därför så många premium-säljare slutar kämpa för att behålla sin vinst när de handlar veckovisa alternativ. Denna handel kan fungera en liten stund, men de kommer att underskatta kraften i Gamma8230 och reagera inte tillräckligt snabbt för att göra justeringen. Detta resulterar vanligtvis i en stor drawdown. Du ser, om du bestämmer dig för att handla veckovisa alternativ, så är du redo att göra ett drag snabbt om något händer, oavsett om du tar vinst eller justerar positionen. Detta är inte inkomst som är skyldig till dig. Faktum är att du kanske måste jobba för det. Med det sagt måste du vara aktiv, vilket innebär att du måste övervaka dina positioner mycket mer än vad du skulle göra om du handlade med långsiktiga alternativ. Nu tror jag att det finns möjligheter att vara strategiska med veckovisa alternativ. Faktum är att det finns specifika situationer där jag litar på veckovisa alternativ för att uttrycka min marknadsöversikt. Härifrån några bra nyheter8230 För några år sedan skrev jag en e-bok om veckovisa alternativ82. Det lär dig några av mina favoritstrategier8230 vad jag lärde mig av vinnarna och förlorarna som har visat sig fungera för att arbeta över och över igen. Om du är ny till veckovisa alternativ får du dig snabbt på några av de mest kraftfulla alternativstrategierna för handel där de jobbar och när man ska tillämpa dem. Ive sålde jag denna 34-sidiga ebook för mer än 50 på den här sidan. Men idag kan du ladda ner den uppdaterade versionen av det gratis. Du vet, jag har nyligen gått tillbaka och gjort uppdateringar till it8230 för att få det bättre att återspegla den nuvarande marknadsmiljön, samt finjustera och markera de viktigaste sakerna som Ive har lärt sig. När jag först skrev det var det bara en handfull veckoprogram som var tillgängliga vid den tiden. Nu finns det flera hundra som du kan handla, allt från ETF till aktier. Här är de dåliga nyheterna8230 Jag är inte säker på hur länge jag erbjuder den här eboken gratis, så se till att få det nu innan något kommer upp och jag ändrar mig. Efter att du omedelbart har laddat ner den här gratis 34-sidiga e-boken om det veckovisa alternativet kommer du att lära dig: Fördelar med att använda veckovisa alternativ över månatliga alternativ Hur veckovisa alternativ kan skada din övergripande framgång Bästa strategier för att använda det och när du ska använda veckotillfällen Tre detaljerade fallstudier av aktuella affärer Fem måste veta tips innan du använder veckovisa alternativ Få tillgång till din gratis eBok för att sizzling Weekly Options Trades 34-sidig eBook lär dig vilka strategier som fungerar bäst med veckotillfällenCopyright copy 2017 MarketWatch, Inc. Alla rättigheter reserverade. Genom att använda denna webbplats godkänner du användarvillkoren. Sekretesspolicy och Cookie Policy. Intradag Data tillhandahållen av SIX Financial Information och med förbehåll för användarvillkor. Historisk och aktuell slutändad data tillhandahållen av SIX Financial Information. Intradagdata fördröjd per utbytesbehov. SPDow Jones Index (SM) från Dow Jones Company, Inc. Alla citat är i lokal utbytes tid. Realtids senaste försäljningsdata från NASDAQ. Mer information om NASDAQ-handlade symboler och deras nuvarande finansiella status. Intradagdata försenas 15 minuter för Nasdaq, och 20 minuter för andra utbyten. SPDow Jones Index (SM) från Dow Jones Company, Inc. SEHK intraday data tillhandahålls av SIX Financial Information och är minst 60 minuter försenad. Alla citat är i lokal utbytes tid. MarketWatch Top Stories

Forex review indien


Forex Trading Recensioner Vilka Forex Trading funktioner betyder och varför konto och portfölj konto och portfölj information hänvisar till de data och visningsalternativ som är förknippade med finansiella konto och transaktionsinformation av ett Forex-konto. Alla de bästa valutamarknaden kommer att uppdatera kontoinformation i realtid, visa kontosaldon och ge historia rapporter och uttalanden. Medan konton och portföljinformation är relativt viktigt, är det säkert att de flesta forex-mäklare erbjuder de viktigaste funktionerna. En investerare som kräver specifika portföljrapporteringsfunktioner kan vilja ta en hårdare titt på funktionerna i den här kategorin. Viktigaste konto - och portföljfunktioner Kontohistorikrapporter 8211 Du kan skapa rapporter eller visa uttalanden om din portfölj eller kontoinformation. Hämta Statements 8211 Du kan ladda ner dina kontoutdrag. Exportera data 8211 Du kan exportera din portfölj eller kontoinformation. GainLoss 8211 Du kan köra vinst - och förlustrapporter för skatteplanering. Order Status and Balance 8211 Du kan snabbt visa dina nuvarande handelspositioner, öppna order och kontosaldo. Realtidsuppdateringar 8211 Din kontosaldon uppdateras i realtid. Cross Valuta Par Cross Valuta Par innehåller sekundära valutor som handlas mot varandra och inte mot amerikanska dollar. Exempel är EURJPY, EURGBP och CADJPY. Denna kategori representerar en annan uppsättning höghandlade valutapar som mest välrenommerade mäklare erbjuder. Kategorin Cross Valutapar är särskilt viktig för ett valutahandelskonto som är enominerad i en annan valuta än US-dollar eller för mer avancerade näringsidkare som utnyttjar skillnader mellan andra ekonomier. Viktigaste cross-valuta-paret har AUDJPY 8211 Mäklaren erbjuder handel i Australian Dollar vs Japanese Yen valutaparet. CADJPY 8211 Mäklaren erbjuder handel i det kanadensiska dollarn mot japanska yen valutaparet. CHFJPY 8211 Mäklaren erbjuder handel i valutaparet från Schweiziska francen mot japanska yenen. EURAUD 8211 Mäklaren erbjuder handel i eurovärdet mot australiensiska valutaparet. EURCHF 8211 Mäklaren erbjuder handel i Euro-Vs. Swiss Franc valutaparet. EURGBP 8211 Mäklaren erbjuder handel i Euro-Vs. British Pound valutaparet. EURJPY 8211 Mäklaren erbjuder handel i valutaparet euro mot japanska yenen. GBPCHF 8211 Mäklaren erbjuder handel i British Pound vs Swiss Franc valutapar. Major Valuta Par Major Valuta Par är de viktigaste, mest omsatta globala valutapar tillgängliga via en Forex mäklare. Dessa par består av valutor från världens mest utvecklade ekonomier, inklusive Europa, Japan, Kanada och Australien. Ett stort valutapar skapas när en av dessa valutor handlas mot amerikanska dollar. Exempel är EURUSD och USDCAD. Major Valutapar är en viktig kategori eftersom dessa par representerar de mest omsatta och likvida valutamarknaden i Forex trading. Viktigaste stora valutaparfunktionerna AUDUSD 8211 Mäklaren erbjuder handel i den australiska dollarn vs US-valutaparet. EURUSD 8211 Mäklaren erbjuder handel i Euro vs US Dollar valutapar. GBPUSD 8211 Mäklaren erbjuder handel i det brittiska pundet vs US-dollar-valutaparet. NZDUSD 8211 Mäklaren erbjuder handel i Nya Zeelands dollar mot US-valutaparet. USDCAD 8211 Mäklaren erbjuder handel i US-dollar kontra kanadensiska valutaparet. USDCHF 8211 Mäklaren erbjuder handel i US-dollar vs Swiss Franc valutapar. USDJPY 8211 Mäklaren erbjuder handel i US-dollar kontra japanska yen-valutaparet. Trading Technology Trading Technology omfattar all teknik som möjliggör utförande av en handel samt verktyg för att förenkla handel eller genomföra avancerade strategier. Trading Technology-kategorin innehåller ett spektrum av funktioner, från varningar och realtidsnoteringar till de mer avancerade funktionerna som automatiserad handel och villkorade order. Trading Technology är en av de viktigaste kategorierna när man överväger en Forex-mäklare eftersom förmågan att genomföra en utvald strategi är mycket viktigt när Forex trading. Viktigaste handelsteknikfunktionerna Alerts 8211 Du kan ställa in personliga varningar för din portfölj. Automatiserad handel 8211 Du kan placera affärer genom att ställa in automatiska utlösare. Villkorliga beställningar 8211 Du kan beställa beställningar som omedelbart utlöser eller annullerar en annan order när den utförs. Anpassningsbart gränssnitt 8211 Layout och funktioner i handelsplattformen kan anpassas och ändras. I Chart Trading 8211 Du kan använda kartverktygen för att faktiskt placera affärer. Realtidskartor 8211 Realtids uppdateringskartläggningsverktyg finns tillgängliga via mäklaren. Realtidsnoteringar 8211 Aktuella priser är tillgängliga i realtid. Kundservice och support Kundtjänst och support är tillgången på supportkanalerna för forex broker8217s. Forexmäklare med det bästa stödet är tillgängliga under alla handels timmar genom flera kanaler, inklusive livechatt, e-post och telefon. Några av de bästa valutahandelarna har också detaljhandeln där du kan prata med någon i person. Stöd speciellt för online-forexhandel eftersom valutamarknaden handlar dygnet runt, vilket kräver tillgång till stöd hela tiden. Viktigaste kundservice och supportfunktioner E-post 8211 Du kan få tillgång till kundsupport via e-post. Live Chat 8211 Du kan få tillgång till kundsupport via livechatt. Telefon 8211 Du kan få tillgång till kundsupport via telefon. Trading hours Support 8211 Du kan få tillgång till kundsupport under de flesta handels timmar. Mobile Trading Mobile Trading är möjligheten att komma åt ett handelskonto med hjälp av en mobilenhet. Mobile Trading omfattar tillgången till dedikerade appar för en rad olika enheter, funktionerna i funktionerna i mobilappen och hur användarna har betygsatt programmet. Mobilhandel fortsätter att växa i betydelse, eftersom kvaliteten på applikationerna förbättras för att möta efterfrågan på högpresterande, löpande handelsverktyg. De viktigaste mobila handelsfunktionerna Android 8211 Mäklaren tillhandahåller en app för Android-enheter. BlackBerry 8211 Mäklaren tillhandahåller en app för BlackBerry-enheter. Skapa varningar 8211 Du kan skapa varningar med en eller flera av de mobila handelsapplikationerna. Favorit App Store Recensioner 8211 Tre eller fler stjärnor har tilldelats broker8217s iPhone app från användare i Apples App Store eller Google Play. iPad 8211 Mäklaren tillhandahåller en app för iPad. iPhone 8211 Mäklaren tillhandahåller en app för iPhone. Mobilforskning 8211 Forskningsfunktioner är tillgängliga med hjälp av en mobilapplikation. Mobil hemsida 8211 Mäklaren erbjuder en separat mobilwebbplats för åtkomst till ditt konto från en mobil webbläsare. Place Trades 8211 Du kan placera affärer med din mobila enhet. Portföljspårning 8211 Du kan spåra din portfölj med hjälp av en mobilenhet. Streaming Quotes 8211 Streaming citat på mobila enheter är tillgängliga. Forskning är de resurser som en forexmäklare tillhandahåller sina kunder för att hjälpa dem att fatta beslut och förstå marknadsaktivitet. Forskningen som tillhandahålls av de bästa forexmäklare inkluderar avancerad kartläggningskapacitet, tredjepartsforskning, forskningsrapporter och marknadskommentarer. Forexhandel kan vara mycket datordriven, och vissa valutahandlare erbjuder handlare tillgång till historiska data så att de kan back-test strategier innan de fördelar riktiga pengar. Forskning är en viktig kategori för näringsidkare som söker bistånd vid beslut och oberoende handlare som söker bekräftelse på en handel eller en andra åsikt. Några av de mer självreglerade mäklarna erbjuder mindre forskningsfaciliteter eftersom de tillgodoser mer avancerade näringsidkare som betalar för tredjepartsforskning. Viktigaste forskningsfunktionerna Diagram 8211 Du har tillgång till diagram så att du kan göra forskning på investeringsprodukter. Historiska data 8211 Mäklaren ger dig tillgång till historisk valutakursdata. Marknads Kommentar 8211 Du har tillgång till marknadskommentarer från externa experter. Nyheter 8211 Du har tillgång till dagliga marknadsnyheter och uppdateringar från tredje parts tjänster. Forskningsrapporter 8211 Mäklaren ger dig olika forskningsrapporter. Handelsplattformar Handelsplattformar täcker de olika mjukvaruplattformar som finns tillgängliga för valutahandling som tillhandahålls av mäklaren. Handelsplattformar kan skilja sig från en trader8217s behov och kategoriseras ofta som en standard eller professionell plattform. Ytterligare plattformar inkluderar mobila plattformar för att utföra affärer på språng och virtuella plattformar för att testa strategier utan att riskera pengar. Handelsplattformar är en viktig kategori om en näringsidkare letar efter en forexmäklare som kan möta trader8217s behov när de ändras. De viktigaste handelsplattformen Mobile 8211 Mäklaren erbjuder en plattform för att utföra handlar på en mobil enhet. Professional 8211 Mäklaren erbjuder flera plattformsnivåer, inklusive en professionell plattform. Standard 8211 Mäklaren erbjuder flera plattformsnivåer inklusive en standardplattform. Virtual Trading 8211 Mäklaren erbjuder ett virtuellt konto för kunder att öva handel utan att riskera några faktiska pengar. Inledande erbjudanden Forex-mäklare erbjuder ofta kampanjer för att locka en potentiell kund. Exempel på incitament inkluderar inledande erbjudanden för att öppna ett konto och kundreferensprogram. Andra erbjuder gratis handelsdemo så att handlare kan träna valutahandlare innan de förbinder sig till mäklaren. Incitament aren8217t anses vara mycket viktigt eftersom de8217 inte i allmänhet är relaterade till mäklarnas faktiska tjänster, men det kan vara trevligt för vissa kunder att vara medvetna om de potentiella bonusarna eftersom de fattar ett beslut mellan två valutahandel. Viktigaste inledande erbjudandet funktioner Gratis Demo 8211 Du kan få tillgång till en gratis handelsdemo så att du kan prova en av handelsplattformarna. Referral Program 8211 Du kan belönas för att hänvisa en vän till mäklaren. Specialerbjudande 8211 Specialerbjudanden för nya handlare som öppnar ett konto är tillgängliga. Andra investeringsprodukter Andra investeringsprodukter består av andra investeringsprodukter som en forexmäklare gör tillgänglig för någon att handla. Andra investeringsprodukter omfattar aktier, terminer, optioner och CFD. Det här är en mindre viktig kategori eftersom de flesta valutahandlare är högspecialiserade, men det kan vara en viktigare kategori för professionella handlare med kompetens på flera produkter. Mest vanliga investeringsprodukter CFDs 8211 Mäklaren ger andra instrument som avvecklas som Kontrakt för Difference Futures 8211 Mäklaren tillhandahåller handel med vissa terminsprodukter. Alternativ 8211 Mäklaren tillhandahåller handel med vissa alternativprodukter. Lager 8211 Mäklaren ger handel med vissa lager. Trading Education Education är alla resurser som en online-valutahandel ger för att hjälpa sina kunder att lära sig om valutahandel och navigering av plattformen. En Forex-mäklare som utmärker sig i utbildningsutbildningen erbjuder regelbundet webbseminarier och videoklipp så att handlare snabbt kan gå vidare, lära sig nya koncept i valutahandlare och enkelt bli vana vid broker8217s plattform. Dessutom erbjuder de bästa valutahandelarna en utmärkt handelsgrupp för att underlätta utbytet av handelsideer. Utbildning är mindre viktigt för en avancerad investerare, men en nybörjare har stor nytta av de kurser och webinars som erbjuds av de flesta valutahandlare. Viktigaste handelsutbildningsfunktioner Kurser 8211 Du kan få tillgång till pedagogisk handel eller investeringskurser från mäklaren. Ordlista 8211 En ordlista med viktiga investeringsvillkor tillhandahålls av mäklaren. Levande seminarier 8211 Du kan delta i live-person-seminarier runt om i landet från mäklaren. Trader Community 8211 Du har tillgång till ett online-community för att ha diskussioner och dela råd med andra handlare. Videos 8211 Du kan se träningsvideor på broker8217s plattform. Webinars 8211 Webinars är tillgängliga för att hjälpa dig att lära dig mer om investeringsprodukter. Alla Forex Trading recensionerInternational närvaro: Välj vilken bank du föredrar 18.01.2017 Uppdatering för cent konton: Ny server och ökad maxvolym för beställningar 23.12.2016 Önskar dig en god jul och ett gott nytt år 30.11.2016 Nytt steg i utvecklingen av vår Företag - Europeisk licens 28.11.2016 Nytt partnerprogram - Pro STP Markup 25.07.2016 Kommissionens ändringar för ProSTP-konton 17.06.2016 Förändringar i marginkrav 15.06.2016 Forex4you contest results 01.04.2016 Över 20 000 000 beställningar har kopierats i Share4you service 23.03 .2016 Välkommen nyaste och högsta hävstång - 1: 2000 28.12.2015 Forex4you önskar dig god jul och ett gott nytt år Daglig Forex Video För Partners Om Företagets första våning, Mandar House, Johnsons Ghut, PO Box 3257, Road Town, Tortola, Brittiska Jungfruöarna (Läs mer om Kontakta oss) Forex4you Copyright 2007-2016, 2007-2017, E-Global Trade Finance Group, Inc. E-Global Trade Finance Group, Inc. är auktoriserad och reglerad av FSC enligt lagen om värdepappers - och investeringsverksamhet, 2010 Licens: SIBAL121027. Årsredovisningen för E-Global Trade Finance Group, Inc. revideras av KPMG (BVI) Limited. Handel på valutamarknaden innebär betydande risker, inklusive fullständig eventuell förlust av medel. Handel är inte lämplig för alla investerare och handlare. Genom att öka hävstångsrisken ökar (Notice of Risk). Tjänsten är inte tillgänglig för invånare i USA, Storbritannien och Japan. Forex4you ägs och drivs av E-Global Trade Finance Group, Inc., BVI. De bästa Forexmäklarena i 2017 satsningar på Forex Market De bästa artisterna i vår recension är TD Ameritrade. Gold Award-vinnaren Interactive Brokers. Silver Award-vinnaren och FXCM. bronsprisvinnaren. Heres mer om att välja en Forex mäklare för att möta dina behov, tillsammans med detaljer om hur vi kom fram till våra rankningar. Forex eller FX, handel är en mer avancerad typ av investering som passar bäst för erfarna handlare. Om du är väl känd i daghandel eller alternativhandel kan forex vara en utmaning värt att acceptera. Forexhandel kan vara ett annat sätt att diversifiera din portfölj, men det ger större risk än andra typer av investeringar. På grund av Dodd-Frank-akten måste forexmäklare som är verksamma i USA certifieras med både National Futures Association (NFA) och US Commodity Futures Trading Commission (CFTC). Dessa föreskrifter begränsar mängden hävstångseffekt som är tillgänglig för handlare. Alla amerikanska mäklare kan erbjuda maximal hävstångseffekt på 50: 1 för de flesta valutapar, med några mer riskabla valutor med högst 20: 1. På grund av detta erbjuder många Forex-mäklare inte längre konton till amerikanska handelsföretag. Denna översyn anser endast mäklare som tillåter amerikanska konton. Om du är intresserad av att utforska utländska alternativ kan vår internationella valutahandel webbplats vara till hjälp. Mäklare i vår recension utvärderades på kvaliteten på den handelsplattform de erbjöd, användarvänligheten för varje plattform och de verktyg som den tillhandahåller. Vi betraktade också provisionerna och andra kostnader samt deras utbildning och kundservice. Om du är intresserad av att utforska andra investeringsområden, har vi recensioner av dag handelsplattformar. online aktiehandel mäklare och options trading plattformar. Du kan också hitta användbar information om att investera i våra artiklar om valutahandel. Vad är Forex Trading Forex Trading innebär handel med valutor och är den största och mest likvida marknaden i världen. Forex fungerar 24 timmar om dygnet, fem dagar i veckan och det har ingen enda centraliserad marknad. På en genomsnittlig dag handlar valutamarknaden runt 3 biljoner dollar. När du gör en valutahandel, köper och säljer du valuta och i huvudsak satsar på fluktuationer i valutakurser. Om du till exempel skulle köpa euro när konverteringsfrekvensen är 1,25 US-dollar för 1 Euro, så sälj då konverteringsfrekvensen är 1,28 US-dollar till 1 Euro, motsvarar denna skillnad på .03 din vinst. Vanligtvis köper du inte en liten mängd. Vanligtvis handlas för närvarande i många olika storlekar. Ett standardparti är 100 000 enheter av en valuta, en Mini-parti är 10 000 enheter, en Micro-lot är 1000 enheter. Några mäklare kan erbjuda Nano-partier, som bara är 100 enheter. Förändringen i ett valutaparvärde mäts i pips, vilket är det minsta belopp som värdet kan ändra. Vanligtvis anges valutapar ut till fjärde decimalen, och en pip är förändringen i det sista numret. Till exempel, om EURUSD handlar på 1,3300 och det rör sig till 1.3302, det är en rörelse av två pips. När pips förstoras av storleken på partiet, det är där möjligheten till vinst framträder. Eftersom förändringarna i valutor är vanligtvis mycket små, verkar det som om valutahandel är idealisk endast för institutioner eller investerare som har råd att köpa stora partier. Det här är hävstångseffekten. En mäklare kommer vanligtvis att erbjuda dig ett marginalkonto som kan förstora det belopp du har tillgång till. Förhållandet mellan det belopp som du lånar på marginal och det belopp du lägger på är hävstången. Amerikanska mäklare kan inte erbjuda mer än 50: 1 hävstångseffekt. Forex Trading Strategies Som med alla typer av investeringar finns det många olika Forex Trading Strategier. Säkring och spekulation är två huvudstrategier. Några grundläggande strategier är att välja en handelstid som sammanfaller med den tidpunkt då marknaderna i de länder vars valutor du gillar att handla är verksamma, med hjälp av order för förlustförluster för att skydda mot stora förluster. Avancerade strategier kan omfatta bärhandel, som tar hänsyn till valutakurserna och inte bara omräkningskurserna. Eftersom valutaväxlingar är så flyktiga, är det en bra idé att testa dina Forex trading strategier innan du lägger upp dina egna pengar. De flesta mäklare erbjuder ett demokonto och innehåller verktyg som gör att du kan backtest dina strategier. Vad vi utvärderade förstärkare Vad vi hittade Plattform ampverktyg Handelsplattformen och verktygen som erbjuds är en av de viktigaste övervägandena när vi väljer en valutahandel. Våra granskare testade plattforms demo som tillhandahålls av varje mäklare och deras mobilappar, letar efter plattformar som är lätta att använda och som ger analytiska verktyg som hjälper dig att mäta valutaparprestanda. Med de bästa plattformarna kan du skapa flera vaktlistor för att spåra olika grupper av valutor. Vissa tillåter bara att du skapar en enda vaktlista eller lägger till i en enda förberedd vaktlista. Du bör också kunna skapa varningar för att meddela dig när ett valutapar når ett visst pris eller uppfyller några andra kriterier. Helst bör du kunna ta emot e-postmeddelanden eller textvarningar, men vissa plattformar erbjuder bara meddelanden inuti plattformen. Några av plattformarna erbjuder inte varningsalternativ. Forexmäklare tillhandahåller också kartverktyg som hjälper dig att mäta prestanda för ett valutapar. Dessa verktyg inkluderar tekniska indikatorer som kan hjälpa dig att planera din handelsstrategi. TD Ameritrade erbjuder överlägset de mest tekniska indikatorerna, med över 300. Mäklare vi granskade har en rad valutapar tillgängliga för handel, den högsta är 120 och lägst är 10. Mest trading sker på större par, som EURUSD, USDJPY , GPDUSD och USDCAD, men med möjlighet att handla med olika valutor, såsom den thailändska bahten, den ungerska florinen och danska kronan, kan du ge dig möjlighet att sprida dina investeringar, diversifiera din portfölj och potentiellt skörda större belöningar från mer flyktiga valutor. Handelskostnader Huvudkostnaden för valutahandling ligger i budskapets spridning. Detta är markeringen som en mäklare gäller och härleds av skillnaden mellan budet, eller försäljningen, priset och priset, eller köp, pris. Spridningen är vanligtvis skillnaden i växelkursens sista två decimaler. Forex mäklare hänvisar till denna skillnad som pips. Eftersom växelkurserna ständigt fluktuerar, gör ofta även spridningar, speciellt när en ekonomisk förmögenhet i ett land tar dramatiska vändningar till det värre eller bättre. Vissa mäklare tar ut provisioner på varje handel. Dessa mäklare har ofta snävare spridningar men kan vara bättre för högre volymhandlare. Kommissionens baserade mäklare tenderar också att kräva de högsta inledande insättningarna. Några mäklare vi granskade, som Oanda och Nadex. har inte minimikrav och tillåter dig också att handla alla storlekar mycket valuta. Utbildningsförstärkare Forexmäklare bör också ge handlare med investeringsutbildning och plattformsträning. Våra granskare fann att de bästa mäklarna erbjuder videoprojekt och steg-för-steg-träning på plattformarnas funktioner utöver tränings manualer. Även om forexinvesterare är mer erfarna som andra investerare anser vi att det är viktigt för en mäklare att tillhandahålla utbildningsresurser. Det bästa inkluderar veckovisa webinarer och pågående bloggar som ger ett viktigt sammanhang på valutamarknaden samt idéer för nya handelsstrategier. Eftersom valutamarknaden fungerar dygnet runt är det viktigt att kunna få stöd när du handlar. Många mäklare erbjuder telefonsupport under timmar Forex marknaderna är öppna samt live chat. Vår rekommendation TD Ameritrade är vår topprankade valutahandel. Den har den bästa plattformen, både när det gäller användarvänlighet och bredd av de verktyg som den tillhandahåller. Det erbjuder också de flesta valutapar, vilket ger dig möjlighet att handla i exotiska par som har potential för hög avkastning. Det är också en bra plattform för handel med andra investeringstyper och kan vara ett bra val om du vill göra utländska investeringar. Interactive Brokers är ett annat bra val som har en bra plattform och pedagogiska erbjudanden. Den har en provisionbaserad modell men snäva spridningar. Det kräver en initial investering på 10 000, så det är ett bra val för erfarna investerare. FXCM har några av de bästa pedagogiska verktygen, inklusive pågående Daily FX-webinars och den dagliga FX-bloggen. Den har de högsta provisionerna i vår granskning, men det har relativt snäva spridningar. Oanda och Nadex är de två bästa mäklare för prissättning. Nadex har låga provisioner och låga spridningar. Oanda har inte några minimikrav för din öppningsdeposition eller en minimal handelstorlek. Forex trading är ett steg avancerad typ av investeringar men är en som har potential att vara mycket givande. Varje mäklare i vår recension erbjuder verktyg för att göra affärer och analysera potentiella strategier. De bästa mäklarna erbjuder en lättanvänd plattform, låga handelskostnader och kvalitativa utbildningsresurser.

Gnc optioner


GNC Holdings, Inc. Klass A Gemensam aktiekvot Sammanfattning Data Företagsbeskrivning (som arkiverad med SEC) GNC Holdings, Inc. (tillsammans med dess dotterbolag, benämnt innehav, GNC, bolaget, vi, oss och våra om inte annat anges ) har huvudkontor i Pittsburgh, Pennsylvania och våra stamaktier på New York Stock Exchange (NYSE) under symbolen GNC. Vår verksamhet grundades 1935 av David Shakarian som öppnade vår första hälsokostaffär i Pittsburgh, Pennsylvania. Vårt huvudkontor ligger på 300 Sixth Avenue, Pittsburgh, Pennsylvania 15222, och vårt telefonnummer är (412) 288-4600. Vi upprätthåller och gratis tillhandahåller våra årsrapporter på formulär 10-K, kvartalsrapporter på formulär 10-Q, aktuella rapporter på formulär 8-K och ändringar av dessa rapporter så snart som rimligt praktiskt efter att vi elektroniskt fil eller lämna dem till Förenta staternas Securities and Exchange Commission (SEC). Mer. Riskgradering Var ligger GNC i riskgrafen Konsensusrekommendation Ytterligare infoanalytiker Info Forskningsmäklare innan du handlar Vill du handla FX Redigera favoriter Ange upp till 25 symboler åtskilda med kommatecken eller mellanslag i textrutan nedan. Dessa symboler kommer att finnas tillgängliga under din session för användning på aktuella sidor. Anpassa din NASDAQ-upplevelse Bakgrundsfärgval Välj den bakgrundsfärg du vill ha: Citat Sök Välj en standard målsida för din citatsökning: Realtid efter timmar Pre-Market Nyheter Flash Citat Sammanfattning Citat Interaktiva tabeller Standardinställning Observera att när du gör Ditt val, det gäller alla framtida besök på NASDAQ. Om du, när som helst, är intresserad av att återgå till standardinställningarna, välj Standardinställning ovan. Om du har några frågor eller stöter på några problem med att ändra standardinställningarna, vänligen maila isfeedbacknasdaq. Vänligen bekräfta ditt val: Du har valt att ändra standardinställningen för Quotes Search. Detta kommer nu att bli din standardmålsida om du inte ändrar din konfiguration igen, eller du tar bort dina cookies. Är du säker på att du vill ändra dina inställningar Vi har en tjänst att fråga Vänligen inaktivera din annons blockerare (eller uppdatera dina inställningar för att säkerställa att javascript och cookies är aktiverade) så att vi kan fortsätta att förse dig med de förstklassiga marknadsnyheterna och data du har kommit att förvänta oss. Scala J, Hollies N, Sucher KP. Effekt av daglig gelatinintag på humant hårbotten. Nutr Rep Int 197613: 579-92. 2. Morganti P, Randazzo SD. Näring och hår. J Appl Cosmetol 19842: 41-9. 3. Tyson TL. Effekten av gelatin på bräckliga fingernaglar. Investera Dermatol 195014: 323-5. 4. Rosenberg S, Oster KA, Kallos A, Burroughs W. Ytterligare studier om användning av gelatin vid behandling av sköra naglar. AMA Arch Derm 195776: 330-5. Copyright 2016 Healthnotes, Inc. Alla rättigheter förbehållna. hälsa noter Informationen som presenteras av Healthnotes är endast avsett för informationsändamål. Den är baserad på vetenskapliga studier (humant, djur eller in vitro), klinisk erfarenhet eller traditionell användning som nämns i varje artikel. Resultaten som rapporteras kan inte nödvändigtvis förekomma hos alla individer. Självbehandling rekommenderas inte för livshotande förhållanden som kräver medicinsk behandling under vård av en läkare. För många av de diskuterade diskussionerna finns också behandling med recept eller receptfria läkemedel. Rådfråga din läkare, vårdgivare och orör för eventuella hälsoproblem och innan du använder några tillägg eller innan du gör några ändringar i föreskrivna läkemedel. Informationen löper ut juni 2017.GNC Holdings Inc. Cl A GNC (US NYSE) PE-förhållande (TTM) Förhållandet pris till vinst (PE), en nyckelvärderingsåtgärd, beräknas genom att dividera den senaste stängningskursen med summan av utspädat vinst per aktie från kvarvarande verksamheter under den efterföljande 12 månadersperioden. Resultat per aktie (TTM) En företags nettoinkomst för den efterföljande tolvmånadersperioden, uttryckt som ett dollarbelopp per utestående utspädda aktier. Marknadsvärdering Avspeglar företagets totala marknadsvärde. Market Cap beräknas genom att multiplicera antalet utestående aktier i aktiekursen. För företag med flera gemensamma aktieklasser ingår marknadsvärde i båda klasserna. Aktier Utestående Antal aktier som för närvarande innehas av investerare, inklusive begränsade aktier som ägs av bolagets tjänstemän och insiders samt de som innehas av allmänheten. Public Float Antalet aktier i händerna på offentliga investerare och tillgängliga för handel. För att beräkna börjar med totala utestående aktier och subtrahera antalet bundna aktier. Begränsat lager är normalt det som utfärdas till företagets insiders med begränsningar när det kan handlas. Utdelningsavkastning En företags utdelning uttryckt i procent av aktiens aktiekurs. Huvudaktieuppgifter PE-kvot (TTM) Marknadsandel Aktier Utestående Offentlig Float Senaste Utdelning Utdelning Utdelning Datum Aktier Sold Kort Totalt antal aktier i en säkerhet som har sålts korta och ännu inte återköpts. Ändra från senaste procentuell förändring med kort ränta från föregående rapport till den senaste rapporten. Utbyten rapporterar kort ränta två gånger i månaden. Procent av Float Totalt korta positioner i förhållande till antalet aktier tillgängliga för handel. Kort ränta (013117) Aktier Säljs Kort förändring från sista procent av flöde Pengaflöde UptickDowntick-förhållande Pengaflödet mäter det relativa köp - och försäljningspriset på ett lager baserat på värdet av affärer gjorda med en uppgång i pris och värdet av affärer gjorda på en nedgång i pris. Uppdateringsförhållandet beräknas genom att dividera värdet på upptagningsverksamheten med värdet av nedskrivningsaffärer. Netto penningflöde är värdet av uptick-affärer minus värdet av downtick-branschen. Våra beräkningar baseras på omfattande, försenade citat. Aktiepengar Flöde UptickDowntick Handelsförhållande Realtids amerikanska börskurser reflekterar handelar som rapporteras endast via Nasdaq. Internationella börskurser är försenade enligt växlingskraven. Index kan vara i realtid eller försenad se tidstämplar på indexkvot sidor för information om fördröjningstider. Citatdata, förutom amerikanska aktier, tillhandahållen av SIX Financial Information. Data tillhandahålls endast för informationsändamål och är inte avsedd för handelsändamål. SIX Financial Information (a) ger inga uttryckliga eller underförstådda garantier av något slag angående uppgifterna, inklusive utan begränsning någon garanti om säljbarhet eller lämplighet för ett visst syfte eller användning och (b) är inte ansvarig för fel, ofullständighet, avbrott eller förseningar, åtgärder som vidtagits i beroende av uppgifter eller för eventuella skador som härrör från dem. Uppgifterna kan avsiktligt försenas enligt leverantörens krav. All fondfonden och ETF-informationen i denna bildskärm levererades av Lipper, A Thomson Reuters Company, med förbehåll för följande: Copyright Thomson Reuters. Alla rättigheter förbehållna. Eventuell kopiering, republicering eller omfördelning av Lipper-innehållet, inklusive genom caching, framställning eller liknande, är uttryckligen förbjudet utan Lippers skriftliga tillstånd. Lipper ansvarar inte för eventuella fel eller förseningar i innehållet eller för åtgärder som vidtas i beroende av det. Obligationsnoteringar uppdateras i realtid. Källa: Tullett Prebon. Valutakurser uppdateras i realtid. Källa: Tullet Prebon. Grundläggande företagsdata och analytikers uppskattningar som tillhandahålls av FactSet. Copyright FactSet Research Systems Inc. Alla rättigheter förbehållna.

How to calculate glidande medelvärde of a lager


Flyttande medelvärde I det här exemplet lär du dig hur du beräknar glidande medelvärdet för en tidsserie i Excel. Ett glidande medel används för att jämna ut oegentligheter (toppar och dalar) för att enkelt kunna känna igen trender. 1. Låt oss först titta på våra tidsserier. 2. Klicka på Dataanalys på fliken Data. Obs! Kan inte hitta knappen Data Analysis Klicka här för att ladda verktyget Analysis ToolPak. 3. Välj Flytta genomsnitt och klicka på OK. 4. Klicka i rutan Inmatningsområde och välj intervallet B2: M2. 5. Klicka i rutan Intervall och skriv 6. 6. Klicka i rutan Utmatningsområde och välj cell B3. 8. Skriv ett diagram över dessa värden. Förklaring: Eftersom vi ställer intervallet till 6 är det rörliga genomsnittet genomsnittet för de föregående 5 datapunkterna och den aktuella datapunkten. Som ett resultat utjämnas toppar och dalar. Diagrammet visar en ökande trend. Excel kan inte beräkna det rörliga genomsnittet för de första 5 datapunkterna, eftersom det inte finns tillräckligt med tidigare datapunkter. 9. Upprepa steg 2 till 8 för intervall 2 och intervall 4. Slutsats: Ju större intervall desto mer toppar och dalar släpper ut. Ju mindre intervallet desto närmare de rörliga medelvärdena är de faktiska datapunkterna. Flyttande medelvärde - MA BREAKING DOWN Flyttande medelvärde - MA Som ett SMA-exempel, överväga en säkerhet med följande stängningskurser över 15 dagar: Vecka 1 (5 dagar) 20, 22, 24, 25, 23 Vecka 2 (5 dagar) 26, 28, 26, 29, 27 Vecka 3 (5 dagar) 28, 30, 27, 29, 28 En 10-dagars MA skulle medeltala slutkurserna under de första 10 dagarna som första datapunkt. Nästa datapunkt skulle släppa det tidigaste priset, lägga till priset på dag 11 och ta medeltalet, och så vidare som visas nedan. Som tidigare noterat lagrar MAs nuvarande prisåtgärd eftersom de är baserade på tidigare priser, ju längre tidsperioden för MA, ju större fördröjningen. Således kommer en 200-dagars MA att ha en mycket större grad av fördröjning än en 20-dagars MA eftersom den innehåller priser för de senaste 200 dagarna. Längden på MA som ska användas beror på handelsmålen, med kortare MAs som används för kortfristig handel och långsiktiga MAs mer lämpade för långsiktiga investerare. 200-dagars MA följs i stor utsträckning av investerare och handlare, med raster över och under detta glidande medel anses vara viktiga handelssignaler. MAs ger också viktiga handelssignaler på egen hand eller när två genomsnitt övergår. En stigande MA indikerar att säkerheten är i en uptrend. medan en minskande MA indikerar att den ligger i en nedåtgående trend. På samma sätt bekräftas uppåtgående momentum med en haussead crossover. som uppstår när en kortsiktig MA passerar över en längre tid MA. Nedåtgående momentum bekräftas med en bearish crossover som uppträder när en kortsiktig MA korsar under en längre sikt MA. How att beräkna rörliga medelvärden i Excel Excel Data Analysis for Dummies, 2nd Edition Kommandot Data Analysis ger ett verktyg för beräkning av rörelse och exponentiellt jämnde medelvärden i Excel. Antag, för att illustrera det, att du har uppsamlat daglig temperaturinformation. Du vill beräkna det tre dagars glidande medlet 8212 i genomsnitt av de senaste tre dagarna 8212 som en del av några enkla väderprognoser. För att beräkna glidmedel för denna dataset, gör följande steg. För att beräkna ett glidande medelvärde klickar du först på kommandoknappen Data tab8217s dataanalys. När Excel visar dialogrutan Dataanalys väljer du objektet Flyttande medel från listan och klickar sedan på OK. Excel visar dialogrutan Rörlig medelvärde. Identifiera de data som du vill använda för att beräkna det glidande medlet. Klicka i textrutan Inmatningsområde i dialogrutan Rörlig medelvärde. Identifiera sedan ingångsintervallet, antingen genom att skriva in en arbetsbladets intervalladress eller genom att använda musen för att välja arbetsbladets intervall. Din referensreferens bör använda absoluta celladresser. En absolut celladress föregår kolumnbokstaven och radnumret med tecken, som i A1: A10. Om den första cellen i ditt inmatningsområde innehåller en textetikett för att identifiera eller beskriva dina data markerar du kryssrutan Etiketter i första raden. I Excel-textrutan berätta Excel hur många värden som ska inkluderas i den genomsnittliga beräkningen. Du kan beräkna ett glidande medelvärde med ett antal värden. Som standard använder Excel de senaste tre värdena för att beräkna det glidande genomsnittet. För att ange att ett annat antal värden ska användas för att beräkna det glidande genomsnittet, ange det värdet i textrutan Intervall. Berätta Excel där du ska placera de glidande medelvärdena. Använd textrutan Utmatningsområde för att identifiera det arbetsbladsintervall som du vill placera den rörliga genomsnittsdata för. I kalkylbladsexemplet har den glidande genomsnittsdata placerats i arbetsarkets intervall B2: B10. (Valfritt) Ange om du vill ha ett diagram. Om du vill ha ett diagram som visar den glidande genomsnittliga informationen markerar du kryssrutan Diagramutmatning. (Valfritt) Ange om du vill beräkna standard felinformation. Om du vill beräkna standardfel för data väljer du kryssrutan Standardfel. Excel placerar standardfelvärden bredvid de glidande medelvärdena. (Standardfelinformationen går in i C2: C10.) När du har slutfört ange vilken flyttbar genomsnittsinformation du vill ha beräknad och var du vill placera den, klicka på OK. Excel beräknar glidande medelinformation. Obs! Om Excel doesn8217t har tillräckligt med information för att beräkna ett glidande medelvärde för ett standardfel placerar det felmeddelandet i cellen. Du kan se flera celler som visar detta felmeddelande som ett värde.

Dsp glidande medelvärde filter design


Skapad av Olli Niemitalo 2003-01-21, senast ändrad 2012-08-04 Under 1998 hade jag lite extra tid medan andra läste för slutkurs på högstadiet och kom in i digital signalbehandling. Jag skrev som jag lärde mig, och här är resultatet. Det är inte helt korrekt på platser, men kan fungera som en fin handledning i världen av ljud DSP. Tidigare kallades detta dokument Yehars digitala ljudbehandlingshandledning för Braindead, men jag har lite utvecklats av min scenidentitet genom åren. Njut av ASCII-konsten Detta är skrivet för de audio-digitala signalbehandlingsentusiasterna (som titeln föreslår) och andra som behöver praktisk information om ämnet. Om du inte har detta som en linjär läsupplevelse och stöter på svårigheter, kolla om det finns något som hjälper dig i de tidigare kapitlen. I filterfrekvensresponsplaner används linjära frekvens - och storleksskalor. Sidändringar är utformade för 60 linjers sidodrivare. Kapitel Shuffling IIR ekvationer är skrivet av min storebror Kalle. Och tack vare Timo Tossavainen för att dela sin DSP-kunskap Kopiera och använd denna text fritt. av Olli Niemitalo, oiki. fi Observera att prov kan innebära (1) ett samplerat ljud eller (2) ett provpunkt Samplad ljuddata är en stapel av prover, amplitudvärden som tas från den faktiska ljudvågen. Samplingsfrekvensen är skottfrekvensen. Till exempel, om frekvensen är 44100, har 44100 prov tagits på en sekund. Heres ett exempel på provtagning: Det ursprungliga ljudet är kurvan och 0s är de samplade punkterna. Den horisontella raka linjen är nollnivån. Ett samplat ljud kan endast representera frekvenser upp till hälften av sampleratet. Detta kallas Nyquist frekvensen. Ett enkelt bevis: Du måste ha lagrat minst två provpunkter per vågcykel, toppen och botten av vågen för att kunna rekonstruera den senare: Om du försöker inkludera över Nyquist-frekvenser i ditt samplade ljud får du allt du behöver är extra distorsion eftersom de förekommer som lägre frekvenser. Ett ljud består av frekvenskomponenter. De ser alla exakt ut som sinusvågor, men de har olika frekvenser, faser och amplitud. Låt oss titta på en enda frekvens: Nu tar vi samma frekvens från ett annat ljud och märker att det har samma amplitud, men motsatt (roterad 180 grader) fas. Sammanslagning av två signaler görs enkelt genom att lägga till dem tillsammans. Om vi ​​gör detsamma med dessa två sinusvågor blir resultatet: Det blir tyst. Om vi ​​tänker på andra fall, där fasskillnaden är mindre än 180 grader, får vi sinusvågor som alla har olika amplituder och faser, men samma frekvens. Heres sättet att beräkna fasen och amplituden för den resulterande sinusvågan. Konvertera amplituden och fasen till ett komplext tal, där vinkel är fasen och absolutvärdet amplituden. Om du gör det till båda sinusvågorna, kan du lägga till dem som komplexa tal. Som du ser är fasen av den nya sinusvågen 45 grader och amplituden sqrt (1212) sqrt (2) ca 1,4. Det är mycket viktigt att du förstår detta, eftersom det i många fall är mer praktiskt att presentera amplituden och fasen av en frekvens som ett komplext tal. När du lägger till två samplade ljud tillsammans kan du faktiskt torka ut vissa frekvenser, de som hade motsatta faser och lika amplituder. Den genomsnittliga amplituden för det resulterande ljudet är (för oberoende original) sqrt (a2b2) där a och b är amplituderna hos de ursprungliga signalerna. Huvudanvändningen av ett filter är att skala amplituderna hos frekvenskomponenterna i ett ljud. Exempelvis dämpar ett lågpassfilter alla frekvenskomponenter över skärningsfrekvensen, med andra ord multiplicerar amplituderna med 0. Den låter genom alla frekvenser under avklippsfrekvensen obelagd. Om du undersöker uppförandet av ett lågpassfilter genom att driva olika sinusvågor med olika frekvenser genom det och mäta förstärkningarna får du frekvensfrekvensresponsen. Här är en plot av magnitudfrekvensresponsskurvan för ett lågpassfilter: Frekvensen är på axeln och förstärkningen på axeln. Som du ser är förstärkningen (skalning) av frekvenserna under cutoff-frekvensen 1. Så, deras amplitud påverkas inte på något sätt. Men amplituderna av frekvenser över cutoff frekvensen multipliceras med noll så de försvinner. Filter lägger aldrig till några nya frekvenskomponenter i ljudet. De kan bara skala amplituderna av redan befintliga frekvenser. Om du till exempel har ett helt tyst prov kan du inte få något ljud ur det genom filtrering. Om du har ett sinusvågsprov och filtrerar det, kommer resultatet även att vara samma sinusvåg, bara kanske med olika amplitud och fas - inga andra frekvenser kan visas. Professionella blir aldrig trött på att påminna oss hur viktigt det är att inte glömma fasen. Frekvenskomponenterna i ett ljud har sina amplituder och. faser. Om vi ​​tar en sinusvåg och en cosinovåg ser vi att de liknar varandra, men de har en fasskillnad på pi2, en fjärdedel av en hel cykel. Även när du spelar dem låter de lika. Men försök att bära ett headset och spela sinusvågan på vänstra kanalen och cosinovågan på höger kanal. Nu hör du skillnaden Fas själv innehåller inte viktig information för oss så det hörs inte, men fasskillnaden, av en frekvens, mellan de två öronen kan användas för att uppskatta ljudets ursprung så att det hörs. Filter har ett frekvensfrekvenssvar, men de har även ett fasfrekvenssvar. Heres en exempelkurva som kan vara från ett lowpass-filter: Om du filtrerar ett ljud läggs värdena från fasfrekvensresponsen till faserna av frekvenserna i originalljudet. Linjär (rak linje) fas är samma sak som en vanlig fördröjning, även om det kan se vildt ut i tomten om det går runt flera gånger. Om ditt lågpassfilter exempelvis inte har ett linjärt fasfrekvenssvar kan du inte göra det till ett highpass-filter genom att helt enkelt subtrahera sin utgång från originalet med samma fördröjning. Komplex matte med filter Svaret på ett filter för en enda frekvens kan uttryckas som ett komplext tal, där vinkeln är filterets fassvar och absolutvärdet magnitudsvaret. När du applicerar filtret på ett ljud, gör du faktiskt en komplex multiplicering av alla frekvenskomponenter i ljudet med motsvarande filterresponsvärden. (Läs kapitel Lägga till två sinusvågor tillsammans om du finner det svårt att förstå.) Exempel: Filterets svar är (0,1) vid 1000 Hz. Du filtrerar en sinusvåg, med fält amp amplitudinformation presenterad som det komplexa talet (0,1), med samma frekvens med den: Fas av sinusvågen roterades 90 grader. Ingen ändring i amplituden. Kombinera filter Det kombinerade svaret på dessa två filter sätts i serie är A-svaret multiplicerat med svaret på B (komplexa tal som alltid). Om du bara behöver veta magnitudsvaret, kan du också multiplicera de absoluta värdena. I figuren får båda filerna sina inmatningar från samma källa. Deras utgångar läggs sedan samman igen och bildar slutprodukten. Nu behöver du använda tillägg för att lösa det kombinerade svaret. FIR-filtret är enklare och lättare att förstå. Finitivt impulssvar innebär att när filteringången har förbli noll under en viss tid blir filterutmatningen också noll. Ett oändligt impulsresponsfilter drar inte helt ner efter att ha stängt av ingången, men det blir tystare och tystare. Ett grundläggande FIR-filter kan vara: där input betyder de provvärden som matas till filtret. I det här fallet skulle folk prata om ett 3-knappsfilter. Det är upp till koefficienterna (a0, a1, a2) vad detta filter kommer att göra för ljudet. Att välja koefficientvärdena är den svåraste delen, och det går bra med det senare. För att designa egna filter måste du förstå lite av matematiken bakom och känna till de rätta metoderna. I ovanstående filterexempel används endast tidigare inmatningsvärden. I realtime-filter är detta ett krav, eftersom du inte känner till framtida insatser. I provredigerare och så har du inte denna begränsning, eftersom du har hela inmatningsdata redo när du börjar. Om ditt filter är: och du behöver en realtidsversion av den, konvertera du den bara till: Den enda skillnaden är den enda provfördröjningen i realtidsfiltret. Till skillnad från FIR-filter använder IIR-filter också sina tidigare utgångsvärden för att skapa sin nuvarande produktion. Här är ett enkelt exempel: Detta kan kallas 3 ingångar, 3 utgångsfilter. IIR-filter kan aldrig använda framtida utgångsvärden, eftersom sådana inte finns kvar Det kan finnas flera sätt att implementera samma IIR-filter. Vissa kan vara snabbare än vanliga input-output-and-coefficients sätt. Hur som helst kan varje IIR-filter skrivas i denna form, och det måste användas i filterdesign och undersökning av beräkningar. Ett impulsrespons (vad filtret kommer att göra med en en provpunktsimpuls) av ett IIR-filter ser ofta mer eller mindre ut som detta i samplingsdata: Några dåligt utformade IIR-filter är instabila. Detta leder till att ouput blir hårdare och högre istället för tystare och tystare. Ett enkelt exempel på detta är: utgång (t) ingång (t) 2output (t-1). Så snart det blir inmatningsdata blir det galet. De ovan beskrivna filtertyperna bearbetar datasamplet genom prov. Inte så, om du implementerar ditt filter med FFT, Fast Fourier Transformation. FFT fungerar vanligen på bitar med längd 2n. Först bör du ha ditt planerade filterimpulssvar klart. Konvertera sedan, med FFT, till spektral information - komplexa tal som representerar faser och amplitud av frekvenskomponenterna. Dessa komponenter kallas rutor, eftersom deras frekvenser är fasta och jämnt fördelade, och om de ursprungliga uppgifterna innehöll några mellanfrekvenser, så kommer det mesta av energi av en sådan frekvens att fördelas mellan de närliggande facken. Nu, du FFT också de provdata du vill filtrera och multiplicera de resulterande frekvensfacken med de från filtret. Då används IFFT (Inverse FFT) för att omvandla informationen till en bit av filtrerade provdata. Således resulterade multiplikation av de två frekvensdomändataen i faltning av de två tidsdomändata. Men det är en fångst: FFT arbetar med periodiska signaler, det vill säga om du har ett filterimpulsrespons så länge som FFT-klumpen, så kommer alla icke-nollprovdata i mitten av FFT-chunk att resultera i att konvolutionen sätter in svansen av filtret runt FFT-gränsen. För att undvika detta problem kan du använda FFT två gånger så länge som filterimpulssvaret, och när FFT på provdata fyller, fyller du bara FFT-inmatningsbufferten halvvägs och anger resten av ingången till noll. För längre ingångar skulle du bearbeta data i bitar så och sedan lägga till de resulterande filtrerade bitarna tillsammans. Detta kallas överlapp-tilläggsmetoden. Ett annat alternativ är överlappning-spara (kolla upp om du vill). FFT kan också användas för att analysera frekvensinnehållet i provdata, oavsett orsak. Om du bara tar en bit av provdata har den skarpa kanter, vilket är dåligt för FFT. Windowing funktioner används för att släta ut dessa kanter. Upphöjda cosinus, cos (xpi2) 2, är en möjlig fönsterfunktion. Här ser du vad som händer när du applicerar den här fönstret till en bit av provdata: Ibland (resampling, precis definierad fördröjning) måste du få provvärden mellan de kända provpunkterna. Det är när du behöver interpolering. Om du inte interpolerar, och bara kasta bort den fraktionerade delen av din provavvikelse, får du mycket högfrekvensförvrängning: I exemplet försöker de ursprungliga provpunkterna representera en sinusvåg. Ju närmare den interpolerade kurvan är en sinusvåg, desto bättre är interpolationsalgoritmen. Den enklaste interpoleringsmetoden är linjär interpolering. Räta linjer dras mellan två intilliggande provpunkter: Fortfarande ser ganska utbrett ut som en sinusvåg. Förbättringen till ointerpolerad är emellertid signifikant. Theres också en nackdel - frekvenserna just under Nyquist frekvensen dämpas, ännu mer än utan interpolering. Heres formeln för linjär interpolering: ny gammal (int) (gammal (int1) - old (int)) frakt, där int betyder heltalets del av provförskjutningen och frakt den delade delen. Nästa steg kan vara Hermitkurva, vilket ger bättre kvalitet på alla sätt än linjär interpolering. Med linjär interpolering behövde du veta 2 provpunkter i taget för att kunna dra ut linjen. Med Hermitkurvan är siffran 4. Interpolationskurvan går genom de två mittpunkterna, och punkterna 1 och 4 används för att forma kurvan. Formeln är en kubik: Och den här här är där a, b, c, d löstes från: En perfekt interpolering existerar också. Genom att ersätta alla provpunkter med korrekt skalade sinc-kurvor, syn (pi x) (pi x) och genom att lägga dem ihop får du exakt, perfekt interpolering. Här är ett av provpunkterna ersatta med en skalad sinc-kurva: Sinc-kurvan är oändlig lång, så du måste använda alla provpunkter i beräkningen av ett interpolerat värde. En praktisk lösning skulle vara att begränsa antalet prover för att säga 1000. Det kommer fortfarande vara för långsamt för en realtidsapplikation, men det ger stor noggrannhet. Om du insisterar på att använda sinc i en realtidsinterpoleringsalgoritm, försök använda en fönsterfönsterfunktion och ett lågt antal (minst 6) sinc-kurvor. Nedsampling Om du vill nedmontera (minska sampleratet) måste du först filtrera bort ovanstående Nyquist-frekvenser, eller de kommer att uppstå som snedvridning i det provtagna provet. I processen med filterdesign behöver du ofta göra kompromisser. För att ha skarpa kanter eller branta sluttningar i storlekssvaret behöver du ett stort och därför långsamt filter. Med andra ord, filter med lågt antal kranar har nästan alltid svagt sluttande magnitudsvar. I fallet med IIR-filter betyder skarpa kanter i storleksordningen ofta en ful (väldigt olinjär) fasfrekvensrespons och nära linjärt fassvar ett svagt sluttande magnitudsvar. Med FIR-filter kan ett försök att skapa mycket skarpa kanter orsaka att vinka i storheterna i närliggande frekvenser. IIR-filter är bra för en realtidsrutin, eftersom de är snabba, kan deras egenskaper (till exempel cutoff frekvens) snabbt ändras i mitten av åtgärden och de låter som riktiga analoga filter. ) Det icke-linjära fasreaktionen hos IIR-filter spelar vanligtvis ingen roll. FIR-filter kan användas där kvalitet och linjär fas är viktig, till exempel i en provredigerare. Människor som filtrerar andra signaler än ljud, önskar ofta linjärfasfrekvensrespons. Med stereosignal är det viktigt att ha samma fasförändringar på vänster och höger kanal. Några filter och deras stiliserade frekvensfrekvenssvar: Om du har ett symboliskt beräkningsprogram rekommenderar jag starkt att du använder den i de mekaniska beräkningarna, för att bara göra ditt liv enklare. Derivat är ett gammalt DOS-program, men fortfarande väldigt användbart. Vitt brus Vitt ljud betyder den typ av ljud som har platt spektrum. Du kan enkelt skapa det genom att använda slumpmässiga tal som provvärden. Om du vill veta magnitudfrekvensresponsen hos ett filter, applicera det på ett långt urval av vitt brus och kör sedan en spektrumanalys på utgången. Vad du ser är filtrets magnitudfrekvensrespons. Ett annat sätt är att skicka en samplingsimpuls, som ursprungligen har ett platt spektrum. En impuls ser så här ut i sampledata: 0, 0, 0, 0, 1, 0, 0, 0, 0 - där impulsen är 1 i mitten. Från de två är impulssaken snabbare, men med hjälp av vitt brus kan det ge renare utseende, eftersom fel blir mindre synliga. Av samma skäl, när du tittar på videor, kommer en stillbild att se snöigare än den löpande bilden. Att ta en spektrumanalys på ett långt prov görs vanligen genom att dela den till mindre bitar, analysera dem separat och sedan ta medeltalet av alla analyser. Mitt personliga val här skulle vara programmet Cool Edit 96, som är för Windows. Pole-zero-metoden är det enklaste sättet att designa snabba och enkla IIR-filter. När du har lärt det, kommer du att kunna designa filter själv. Här är det komplexa Z-planet, det som används i polen-nollmetoden: Föreställ dig frekvenserna som ska lindas runt enhetscirkeln. Vid vinkel 0 har vi 0Hz, vid pi2 har vi samplerate4, vid pi har vi samplerate2, Nyquist frekvensen. Du bör inte bry sig om högre frekvenser, eftersom de aldrig kommer att dyka upp i signalen, men i alla fall, vid 2pi (hel cykel) har vi samplingsfrekvensen. Så om du använde samplingsfrekvens 44100 Hz, skulle 0 Hz vara vid (1,0), 11025 Hz vid (0,1) och 22050 Hz vid (-1,0). Vad är poler och nollor då De är söta små saker du kan placera på Z-planet, så här: Det finns några regler du måste komma ihåg. Poler måste alltid vara inuti enhetscirkeln, aldrig ute eller på den. Zeros kan sättas var som helst. Du kan använda ett antal poler och nollor, men de måste alla ha konjugerade par om de inte är placerade på axeln. Konjugatpar betyder att om du exempelvis anger en noll till (0,6, 0,3) måste du lägga en annan noll till konjugatkoordinaten, (0,6, -0,3). Och samma sak med poler. Men hej Vad gör poler och nollor DO Poler förstärker frekvenser, nollor att dämpa. Ju närmare en pol är till en frekvens (på enhetens cirkel, kom ihåg), desto mer förstärks det. Ju närmare en noll är till en frekvens, desto mer blir den dämpad. En noll på enhetens cirkel dämpar helt frekvensen som den sitter på. Nu kan det vara rätt tid att prova ut det själv. Det finns gratis filter design program runt som låter dig spela med poler och nollor. En kandidat kan vara: QEDesign 1000 demo för Windows. Det är någonstans på Internet, hittar du det. Designa ett bandpassfilter Det enklaste filtret som är utformat med pol-noll är följande bandpassfilter: Poler förstärker frekvenser, så du kan dra slutsatsen att den mest förstärkta frekvensen är den i samma vinkel som polen. Och du är nästan rätt Det enda problemet kommer från konjugatpolen, som också ger sin egen förstärkning. Effekten är starkast vid vinklar nära 0 och pi, där avståndet mellan de två polerna är det minsta. Men låt inte det här förvirra dig, kom tillbaka till det senare. Så bestämmer polens vinkel passbandsfrekvensen. Vad är effekten av det absoluta värdet (radien) då Som nämnts förstärker polerna frekvenser och förstärkningen är starkare när polen är närmare en frekvens. I vårt bandpassfilter, ökar polens radie magnitudresponsen att bli brantare och passband smalare, som du ser här: Positioner av poler: Motsvarande magnitudfrekvensresponsdiagram (normaliserad): Låt ringa radie r från och med nu. (Några av er kanske kommer ihåg bokstaven q från analoga resonansfilter. Det här är ungefär detsamma.) I detta fall har vi begränsningen: 0 r lt 1, eftersom polerna måste vara inuti enhetscirkeln. Så byter r ändras branthet, resonans. Denna resonans - det är inte en magisk sak, bara en frekvens förstärks mer än andra. Från poler och nollor till filterkoefficienter Det finns en överföringsfunktion: där z är frekvens, i koordinatformen (komplex) omsluten kring enhetscirkeln. H (z) ger filtrets respons (komplex) vid frekvensen z. P1, P2, P3 och så vidare är positioner av poler och z1, z2, z3 och så vidare positioner av nollor. A0 är den första inmatningskoefficienten för filtret. Heres IIR-filterformeln igen, om du har glömt: Vårt bandpassfilter har bara en pol och dess konjugatpar, så vi kan förenkla överföringsfunktionen: och ersätt p1 och p2 med koordinaterna för konjugatpolerna: Låt oss ge divisor en närmare titt. Säger: Z-krafterna här är faktiskt index till filtrets utgång: Så vi vet hur man beräknar utgångssidan koefficienterna från polens position: OK Låt oss säga att passbandsfrekvensen är vid Z-planet vid position ph: The polen är i samma vinkel som frekvensen på enhetscirkeln men har radie r. Därför: Nu när vi vet hur polens position beror på frekvensen, kan vi skriva om utgångssidan koefficienterna: Men vi får inte glömma utdelningen (av överföringsfunktionen), där kraften i z är index till filterets ingång : Detta måste läggas till vad vi redan har löst från utgångssidan: Nästa måste vi bestämma vad som ska sättas till a0. Detta kallas normalisering. Syftet med a0 är bara att skala ut filtrets utgång. I vårt bandpassfilter vill vi förstärkningen vid passbandsfrekvensen vara 1. Så vi kan skriva ekvationen: Där är nu Filtret är klart: Förbättra det enkla bandpassfiltret Vi kunde kompensera konjugatpolens effekt genom att lägga till en noll på axeln, mellan polerna. Om vi ​​till exempel hade poler vid koordinaterna (0,6, 0,5) och (0,6, -0,5) satte wed noll vid (0.6, 0): Överföringsfunktionen för detta är: Utgångssidan koefficienterna är exakt samma som tidigare . Ingångssidan koefficienter kan lösas så här: Om du vill använda det här filtret bör du själv kunna göra normaliseringen. Jag brukar inte göra det här. Visdomsord Det är lätt att göra ett filter mer effektivt: Dubbel alla poler och nollor. Frekvensresponsen hos det nya filtret är den gamla rutan. Det finns bättre sätt, men det här är det enklaste. Om du sätter en noll på en pol, neutraliserar du båda. En pol utanför enhetens cirkel gör att filtret blir instabilt. En pol på enhetens cirkel kan vrida filtret i en oscillator. Stort antal poler och nollor innebär stort antal kranar. Zeros påverkar inmatningskoefficienterna, polerutgången. Poler och nollor måste ha konjugerade par, för annars får du komplexa filterkoefficienter och följaktligen komplexa utgångssignaler. Med låga r-värden är den mest förstärkta frekvensen inte alltid i samma vinkel med polen på grund av konjugatpolens effekt. Prova att differentiera magnitudsvaret om du vill ha exakt precision. Ett IIR-filter utan poler är ett FIR-filter. 0 r lt 1 gäller alltid. Bandpass med r Läs kapitel IIR-filterdesign med pole-zero-metod. Hack med r Ju högre r, desto smalare är stoppbandet. Lowpass med r Detta kan göras på flera sätt: Ju högre r, desto starkare resonation. Resonant lowpass filter är säkert den mest använda filtertypen i syntetiserare. Allpass med r Highpass med r Impuls, sinc Om du läser om sinc-interpolering i kapitlet Interpolering av samplad ljud vet du att du kan ersätta en enda samplingsstopp (impuls) i samplingsdata med en korrekt utsträckt sinc-funktion. Korrekt sträckt betyder amplitudesinc (t). När du kör en spektrumanalys på en impuls får du ett platt spektrum med övre gräns vid samplerate2, Nyquist-frekvensen. Eftersom impulssync är detta också spektrumet av sinc: Du kan dra slutsatsen att du får sinc-funktionen om du summerar alla frekvenser från 0 till SR2 och dela summan med antalet frekvenser för att uppfylla ekvationen sinc (0) 1. Och du har rätt. Från spektrumanalysen vet du att alla frekvenser summerade tillsammans har samma amplituder. Men vad är deras fas i centrum av impulsen Sinc-funktionen är symmetrisk runt x0, så är cosinus - så sinc måste göras av cosinus. Om du testar detta med cirka 100 kosiner får du en ganska nära approximation av sinc. Summan av alla frekvenser från 0 till 1 (jämförbar med SR2), dividerad med deras antal, kan skrivas som: (Här betyder oändlig) Som ovan, måste x ersättas med pi t, eftersom cyklängden för synden är 2 pi, som måste sträckas till 2 (vilket är våglängden för Nyquist-frekvensen i sampledata). Fasskift Vad händer om vi byter ut cosinuserna med sines Vi kan prova det Theres en universell formel (som, btw, jag uppfann mig) vi kan använda: Om vi ​​ersätter alla impulser i ljudet med den här nya funktionen utför vi faktiskt en -90 graders fasskift Detta kan göras genom att skapa ett FIR-filter, där koefficienterna tas från denna nya funktion: (1-cos (pi t)) (pi t), men i omvänd ordning, genom att ersätta t med - t , så blir det: (cos (pi t) -1) (pi t). Heres ett exempel som förklarar varför det är nödvändigt att använda - t istället för t: Säg att du vill ersätta alla impulser i signalen med sekvensen 1,2,3. Om ingångssignalen är 0,1,0, säger sunt förnuft att den ska bli 1,2,3. Om du bara använder 1,2,3 som filterkoefficienter i den ordningen blir den filtrerade signalen: Det är inte vad du bad om. Men om du använder koefficienterna 3,2,1 får du rätt resultat, Ok, tillbaka till -90 graders fasskiftfilter. När du plockar filterkoefficienterna från (cos (pi t) -1) (pi t), vid t0 får du olyckligtvis en delning med noll. Undvik detta genom att beräkna gränsen t-gt0, på papper eller med en matematisk proggy. Om du använder din hjärna lite märker du att det är 0, eftersom filterformeln är summan av sines och synd (0) 0, så vid t0 är det summan av nollor. Liksom sinc, har vår nya funktion ingen slut, så en kompromiss måste göras i antalet kranar. Detta orsakar vågor i magnitudsvaret och dämpning av de allra lägsta och högsta frekvenserna. Genom att applicera en fönstersfunktion på koefficienterna kan du bli av med vågorna, men jag vet ingenting som skulle hjälpa till med dämpningen, förutom fler kranar. Fönsterfunktionerna som används med FFT fungerar också här. Fönstret i mitten måste ligga vid t0, och det måste sträckas så att kanterna ligger på den första och den sista kranen. Du kan också få en fasskift av någon vinkel a: Observera att omvänd t har redan gjorts här, så vi kan ta koefficienterna direkt från denna formel. Gränsen t-gt0 är naturligt cos (a), eftersom alla cosinuserna som tillsattes tillsammans hade fas a vid x0. Om du inte insett det, är huvudidén i FIR-filterproduktionen att skapa en funktion som innehåller de frekvenser du vill passera filtreringen. Amplituderna av frekvenserna i funktionen definierar direkt filtrets magnitudfrekvensrespons. Faserna av frekvenserna definierar fassvaret. Omvändning av koefficienterna är endast nödvändig med fasskiftande filter, eftersom filter som inte introducerar en fasskift av något slag är symmetriska runt t0. Definiera frekvensområdet ingår Om du använder sinc som din filterkoefficient formel, gör du faktiskt ingen filtrering, eftersom alla frekvenser från 0 till Nyquist presenteras lika i sinc. Här får du se hur du kan välja vilka frekvenser som kommer att finnas i din filterkoefficientformel. Kom ihåg varifrån vi ursprungligen fick sinc från: I integralet representerar den övre gränsen (1x) faktiskt den högsta frekvensen (1) och den nedre gränsen (0x) den lägsta (0). Så om du vill ha en formel för ett bandpassfilter kan du skriva: där topp och botten är cutofffrekvenserna på så sätt att 1 betyder Nyquist-frekvensen och 0 betyder 0Hz. Nu lägger du bara på vilka frekvenser du vill, beräknar och ersätter x med (pi t). Theres din filterkoefficient formel klar Till exempel, om du vill göra ett halvband lowpass filter (som naturligtvis har cutoff frekvens vid samplerate4, samma som Nyquist frekvens 2): För att skapa multi-band filter kan du kombinera flera bandpass filter formler genom att lägga till dem tillsammans. Utjämningsexemplet Om du vill göra en equalizer (ett filter som låter dig definiera storheterna för vissa frekvenser) summerar du förmodligen många bandpassfilterformler, avskalade av de storlekar du vill ha för frekvenssegmenten. Detta ger dig ett storlekssvar som ser väldigt ut som om det var gjord av tegelstenar: Kanske vill du att det ska se ut så här istället: Det finns tre sätt. Det första sättet är att använda mindre tegelstenar, vilket betyder att du delar upp frekvensen i smalare än tidigare segment och använder interpolering för att få storleksvärdena för de nya smala bandpassfiltret som du kombinerar. Det andra sättet är att definiera ett polynom (som ax3bx2cxd) som har de önskade egenskaperna (och där x1 representerar freqSR2), och för att fylla storleken på ditt filter för att följa det. Det här är möjligt. Det tredje sättet är att lägga till flera bandpass rampfilmformler. I storlekssvaret ser denna lösning ut som raka linjer dras mellan de intilliggande definierade frekvenserna. Detta är också möjligt, och enligt min mening den bästa lösningen. Polynomformat magnitudfrekvensrespons I sinc har alla cosinovågor som läggs till tillsammans lika stora amplitud, som du ser här - alla frekvenser behandlas lika: Du kan ändra detta genom att lägga en funktion g () som definierar amplituderna av cosinovågorna av olika frekvenser: Om funktionen g (x) är formulär axb, går beräkningarna så här: För ett enkelt exempel, om vi vill att magnitudfrekvenssvaret ska vara en rak linje, börjar från 0 vid 0Hz och slutar vid 1 vid SR2, definierar vi g (x) x: Och formulärberäkningarna för filterkoefficientens formel för detta: I andra fall, för att få formeln för ett fullständigt polynom, gör beräkningarna för var och en av dess termer (axb) separat och summera resultaten. Bandpass magnitude-ramp Här är ett exempel på magnitudfrekvensresponsen hos ett rampfilter: För att skapa en bandpassramp måste du först definiera polynomet g (x) som beskriver hur storheten beter sig inom bandpassgränserna. Storleken är linjär inom gränserna, så polynomet g (x) måste bildas cxd. C och d kan lösas från ekvationerna: där x1 är den lägre frekvensgränsen och x2 är högre. Y1 och y2 är gränsvärdena för gränsvärdena. Kom ihåg att här x1 är lika med frekvensSR2. OK, här är c ​​och d löst: G (x) cxd är ett polynom, och du vet redan hur man gör att frekvensfrekvenssvaret har samma form (sektion polynomialformat magnitudfrekvenssvar) som ett polynom. Du vet också redan hur man bara ska inkludera ett begränsat frekvensområde (avsnittet Definiera frekvensområdet medföljer) i din koefficientformel. Kombinera denna kunskap, och du kan skriva koefficientformeln för rampbandpassfiltret: En anteckning om genomförande av equalizern. Om equalizern ska kunna justeras i realtid kan det beräknas att hela kompensationsfilterformeln med alla trigonometriska funktioner blir för tung. Det kan vara bättre att förberäkna koefficienter för flera överlappande filter, till exempel dessa för en trekanalsutjämnare: Vid beräkning av koefficienterna för hela utjämnaren, välj bara motsvarande koefficienter från dessa, skala enligt utjämningsreglagen och summan. Om du tar dina FIR-filterkoefficienter direkt från din filterformel får du ett mycket vågigt magnitudsvar. Anledningen är enkel: Antalet koefficienter är begränsat, men filterformeln är inte, den fortsätter att ha nonzero-värden utanför det intervall du använder för koefficienterna. En fönsterfunktion hjälper. Not using a windowing function is the same thing as using a rectangular ( flat inside its limits) windowing function. Using a windowing function means that you multiply the values taken from your infinitely long filter formula by the corresponding values taken from your finitely long windowing function, and use the results as filter coefficients. Here are some windowing functions, and the produced magnitude responses of a FIR lowpass filter with a low number of taps, illustrated: As you see, the steeper the cutoff, the more waves you get. Also, if wed look at the magnitude responses in dB scale, wed notice that from the three, cos4 gives the best stopband ( the frequency range that should have 0 magnitude) attenuation. Mathematically, multiplication in the time domain is convolution in the frequency domain, and windowing is exactly that. (Also, multiplication in the frequency domain is convolution in the time domain.) I hope i didnt slam too many new words to your face. Time domain means the familiar time-amplitude world, where we do all the FIR and IIR filtering. The frequency domain means the frequency-amplitudeampphase world that you get into through Fourier transformation. And convolution In the time domain, FIR filtering is convolution of the input signal with the filter coefficients. Say you convolute 0,1,0,0,2,0,1,0 with 1,2,3 (where 2 is at the center): Youll get 1,2,3,2,4,7,2,3. If you understand this example, you surely understand convolution too. Ideally (impossible), there would be no windowing, just the constant value 1 infinitely in time. And a steady constant value in the time domain is same as 0Hz in the frequency domain, and if you (in the frequency domain) convolute with 0Hz, it is the same as no convolution. Convolution in the frequency domain equals to multiplication in the time domain, and convolution in the time domain equals to multiplication in the frequency domain. Sounds simple, eh But note that in this frequency domain, there are positive AND NEGATIVE frequencies. Youll learn about those in chapter Positive and negative frequencies. Words of wisdom You get flat (but not necessarily continuous) phase response if your filter (filter coefficients) is symmetrical or antisymmetrical (sides are symmetrical but have opposite signs, and the center crosses zero) around t0, even if you limit the number of coefs andor window them. Sometimes you can optimize your filter code a lot. Some coefficients may turn zero, so you can skip their multiplications. If your filter is symmetrical around t0, you can instead of input(t)ainput(-t)a write (input(t)input(-t))a). If your filter is antisymmetrical around t0, replace input(t)a-input(-t)a) with (input(t)-input(-t))a. Sinc(t) is 1 at t0, and 0 at other integer t values. Calculating the limit t-gt0 is very simple. If your filter formula was originally a sum cosines (meaning its not a phase shift filter), the limit t-gt0 is simply the area of the magnitude frequency response, in such way that the area of no filtering is 1. The actual filter implementation (after possible coefficient calculations) depends much on how the input data is fed to the filter. I can see three cases: You have the whole input data in front of you right when you start. A sample editor is a good example on this. This is the easiest case. With FIR filters, just take values from the input data, multiply with coefficients and sum, like this: output(t) a0input(t-2) a1input(t-1) a2input(t) a3input(t1) a4input(t2). The only problem is what to do at the start and at the end of the input table, because reading data from outside it would only cause problems and mispredictability. A lazy but well working solution is to pad the input data with zeroes, like this: This is how its mostly done with FFT filtering. With FIR filters, it isnt that hard to write a version of the routine that only uses a limited range of its taps, like this: and to use that version at the start and at the end. For this, it is easiest if you have a table of coefficients instead of hard-coding them into the routine. Data is fed to the filter in small chunks, but it is continuous over the chunk borders. This is the most common situation in programs handling realtime audio. One sample at a time. Case 2 can be treated as this, because the chunks can always be chopped into single samples. It is a fact that you cannot use future inputs in this case, so a FIR filter would have to be of form such as: output(t) a0input(t-4) a1input(t-3) a2input(t-2) a3input(t-1) a4input(t). Clearly this kind of a filter creates a delay, but thats just a thing you have to learn to live with. Also, you only get in one sample at a time, which is not enough for filtering, so you have to store the old input values somehow. This is done using a circular buffer. The buffer is circular, because otherwise youd soon run out of memory. Heres a set of pictures to explain the scheme: The buffer must be at least as long as the filter, but it is practical to set the length to an integer power of 2 (In the above example: 2532), because then you can use the binary AND operation to handle pointer wrapping always after increasing or decreasing one (In the above example, AND with 31). Even better, use byte or word instructions, and wrapping will be automatically handled in overunderflows caused by the natural limits of byte or word. Note that the buffer should be filled with zeroes before starting. A similar circular buffer scheme is also often the best solution for implementing the output part of an IIR filter, no matter how the input part was realized. There are both positive and negative frequencies. Until now we havent had to know this, because we have been able to do all the calculations by using sines as frequencies. Dont be fooled that positive frequencies would be sines, and negative ones something else, because that is not the case. In all real (meaning, not complex) signals, positive and negative frequencies are equal, whereas in a complex signal the positive and negative frequencies dont depend on each other. A single sinewave (real) consists of a positive and a negative frequency. So any sine frequency could be expressed as a sum of its positive and negative component. A single, positive or negative, frequency is: and could also be written as: As stated, a sinewave consists of a positive and a negative frequency component. Heres the proof: (The phase of the negative frequency must also be inverted, because it rotates to the other direction) As you see, the imaginary parts nullify each others, and all that remains is the real part, the sine wave. Amplitude of the sine wave is the sum of the amplitudes of the positive and the negative frequency component (which are the same). This also proves that in any real signal, positive and negative frequencies are equal, because a real signal can be constructed of sine waves. The complex Z-plane is a good place to look at positive and negative frequencies: Positive frequencies are on the upper half of the circle and negative frequencies on the lower half. They meet at angles 0 and the Nyquist frequency. Aliasing usually means that when you try to create a sine wave of a frequency greater than the Nyquist frequency, you get another frequency below the Nyquist frequency as result. The new frequency looks like as if the original frequency would have reflected around the Nyquist frequency. Heres an example: The cause of aliasing can be easily explained with positive and negative frequencies. The positive component of the sine wave actually gets over the Nyquist frequency, but as it follows the unit circle, it ends up on the side of negative frequencies And, for the same reasons, the negative component arrives on the side of positive frequencies: The result is a sine wave, of frequency SR-f. Analytic signal It is sometimes needed to first create a version of the original signal that only contains the positive frequencies. A signal like that is called an analytic signal, and it is complex. How does one get rid of the negative frequencies Through filtering It is possible to do the job with an IIR filter that doesnt follow the conjugate-pair-poles-and-zeros rule, but a FIR filter is significantly easier to create. Well use the old formula that we first used to create sinc: but this time, instead of cosines, only including the positive frequencies: As you see, the filter coefficients are complex. We should also halve the amplitude of the positive frequency (it should be half of the amplitude of the cosine, because the negative component is gone) but thats not necessary, because itd only scale the magnitude. To convert the complex analytic signal back to real, just throw away the imaginary parts and all the frequencies get a conjugate (on the z-plane) pair frequency. Here the amplitudes drop to half, but as we skipped the halving in the filtering phase, it is only welcome. The real to analytic signal conversion could also be a good spot for filtering the signal in other ways, because you can combine other filters with the negative frequency removal filter. Amplitude modulation Amplitude modulation means multiplying two signals. All samplepoints in the modulated signal are multiplied by the corresponding samplepoints in the modulator signal. Heres an example: What happens if we modulate a signal with a sinewave The original signal is (as we have learned) a sum of frequecy components, sinewaves of various frequencies, amplitudes and phases. Note that the signal we are talking about here is real, not complex. Say sNUMBER is one of the frequency components. So, we can write the original signal as: Now, if we multiply this signal with the modulator signal m, we get: This is good, because as you see, its the same as if the frequency components were processed separately, so we can also look at what happens to each frequency component separately. A frequency component can be written as: where amp is the amplitude, f the frequency and a the phase. The modulator sine can be written the same way (Only added the letter m): Multiply those and you get: If we discard the phase and amplitude information, we get: which is two frequencies instead of the origial one. Heres a graph that shows how the frequencies get shifted and copied. The original frequency is on the - axis and the resulting frequencyfrequencies on the axis: In the graph Modulated, the frequencies that would seem to go below zero, get aliased and therefore reflect back to above zero. In sampled signal, the Nyquist frequency also mirrors the frequencies. Frequency shifting With some tweaking and limitations, you could make a frequency shifter by using sinewave modulation, but theres a better way. Lets try modulating the signal with e(i mf x) instead of cos(mf x). Phases and amplitudes are irrelevant, so ive just ignored them. (I hope you dont mind) Lets see what happens to a single positivenegative frequency when it is modulated: The answer is very simple. The original frequency got shifted by the modulator frequency. Notice how the rule Multiplication in the time domain is convolution in the frequency domain. applies here also. Heres an example on the z-plane unit circle. p0, p1, p2 are the positive frequencies and n0, n1, n2 their negative conjugate frequencies. Say the modulator frequency rotates the frequencies 14 full cycle counterclockwise: In the modulated signal, the original pair frequencies (like p0 and n0) are no longer conjugate pairs. Thats bad. Another bad thing is that negative frequencies get on the side of positive frequencies and vice versa. But if we first filter all the negative, and those of the positive frequencies that would arrive on the wrong side of the cirle, and then modulate the filtered signal: (The filter formula is in the chapter A collection of FIR filters in section Combined negative frequency removal and bandpass) Now it looks better To make this filtered amp modulated complex signal back to real again, just discard the imaginary part and all the frequencies get a conjugate pair: For most sounds, frequency shifing doesnt do a very good job, because they consist of a fundamental frequency and its harmonics. Harmonic frequencies are integer multiples of the fundamental frequency. After you have shift all these frequencies by the same constant frequency, they no longer are harmonics of the fundamental frequency. There are ways to do scaling instead of shifting, but just scaling the frequencies would be same as resampling, and resampling also stretches the sound in time, so it has to be something smarter. The main idea is to divide the sound into narrow frequency bands and to shiftscale them separately. OK, so frequencies usually come with harmonics - Why Just think where sounds in nature originate from: vocal cords in our throat, quitar strings, air inside a flute. All vibrating objects, and you have probably learned at school that objects have several frequencies in which they like to vibrate, and those frequencies are harmonics of some frequency. What happens in those objects is that they get energy from somewhere (moving air, players fingers, air turbulence), which starts all kinds of vibrationsfrequencies to travel in them. When the frequencies get reflected, or say, go around a church bell, they meet other copies of themselves. If the copies are in the same phase when they meet, they amplify each other. In the opposite phases they attenuate each other. Soon, only few frequencies remain, and these frequencies are all harmonics of same frequency. Like so often in physics, this is just a simplified model. A note about notation. ) The fundamental frequency itself is called the 1st harmonic, fundamental2 the 2nd, fundamental3 the 3rd, and so on. Chromatic scale In music, harmonics play a very important role. The chromatic scale, used in most western music, is divided into octaves, and each octave is divided into 12 notes. The step between two adjanced notes is called a halftone. A halftone is divided into hundred cents. An octave up (12 halftones) means doubling the frequency, an octave down (-12 halftones) means halving it. If we look at all the notes defined in the chromatic scale on a logarithmic frequency scale, we note that they are evenly located. This means that the ratio between the frequencies of any two adjacent notes is a constant. The definition of octave causes that constant12 2, so constant 2(112) 1.059463. If you know the frequency of a note and want the frequency of the note n halftones up (Use negative n to go downwards) from it, the new frequency is 2(n12) times the old frequency. If you want to go n octaves up, multiply by 2n. But why 12 notes per octave As said, harmonics are important, so it would be a good thing to have a scale where you can form harmonics. Lets see how well the chromatic scale can represent harmonics. The first harmonic is at the note itself: 0 halfnotes 1. The second harmonic is at 1 octave 2. The third harmonic is very close to 1 octave 7 halftones 19 halftones 2(1912) 2.996614. Och så vidare. Heres a table that shows how and how well harmonics can be constructed: Not bad at all The lowest harmonics are the most important, and as you see, the errors with them are tiny. I also tried this with other numbers than 12, but 12 was clearly the best of those below 30. So, the ancient Chinese did a very good choice The above table could also be used as reference when tuning an instrument, for example a piano (bad example - no digital tuning in pianos), to play some keys and chords more beautifully, by forcing some notes to be exact harmonics of some other notes. A common agreement is that one of the notes, middle-a, is defined to be at 440Hz. This is just to ensure that different instruments are in tune. Flanger is simply: where d is the length of the variable delay. D values have a lower limit, and the variation comes from sine: Because d is not integer, we must interpolate. Most probably, annoying high frequency hissing still appears. It can be reduced by lowpass filtering the delayed signal. Wavetable synthesis means that the instruments being played are constructed of sampled sound data. MOD music is a well-known example. Also most of the basic home synthesizers use wavetable synthesis. Say you have a sampled instrument, and want to play it at frequency f 440Hz, which is middle A in the chromatic scale. To be able to do this, you need to know A) the samplerate of the sample and the frequency of the sampled instrument, or B) the wavelength of the instrument expressed as number of samples (doesnt have to be integer). So you decide to precalculate the wavelength to speed up the realtime routines a little: The samplerate of your mixing system, SR, is 44100Hz. Now that you know this, you can calculate the new wavelength, the one you want (number of samples): In the mixer innerloop, a sample offset variable is used in pointing to the sampledata. Every time a value is read from the sampledata and output for further mixing, sample offset is advanced by adding variable A to it. Now we must define A so that ol (256) is stretched (here shortened) to nl (100.22727), in other words, so that for ol samplepoints in the sampledata, you produce nl output values: Everything on one line: Thats it By using A as the addvalue, you get the right tone. Click removal There are some situations when unwanted clicks appear in the output sound of a simple wavetable synthesizer: Abrupt volume (or panningbalance) changes. A sample starts to play and it doesnt start from zero amplitude. A sample is played to the end and it doesnt end at zero amplitude. (Biased sampledata or badly cut out sample) A sample is killed abruptly, mostly happens when new notes kill the old ones. Poor loops in a sample. And what does help Heres some advice: Volume changes must be smoothed, maybe ramped, so that itll always take a short time for the new volume to replace the old. Clicky sample starts can be muffled, meaning that the volume is first set to zero and then slided up. This could of course be done beforehand too, and some think muffling sample starts is wrong, because the click may be deliberate. Some drum sounds lose a lot of their power when the starts are muffled. Another case is when the playing of a sample is not started from its beginning. That will most probably cause a click, but muffling is not the only aid - starting to play from the nearest zero crossing also helps. Abrupt sample ends should also be faded down. This may require some sort of prediction, if you want to fade down the sound before its ran over by another sound. This prediction can be made by using a short information delay buffer. It may be easier to just use more channels, to allow the new sound to start while the other one is being faded out in the background, on another channel. When the sampledata ends at a value other than zero, the cause may be that the sampledata is not centered around the zero level, or that the creator of the sample has just cut the end of the sample away. The easiest way to fix this is to fade out the end of the sample beforehand. However, this is not always possible. Symmetric form Turning an IIR filter backwards Getting rid of output(tn) Getting rid of input(tn) FIR frequency response IIR frequency response. Olli wrote he tried to make his text as down-to-earth as possible. Well, heres a more mathematical approach. But Ive still tried to make this intuitive and FUN rather than boring myself with lengthy proofs. This also means that there may be errors, most probably in signs. Symmetric form Say you have this IIR filter: You can put its equation to this symmetric form: Now define a new function, middle(t): You can rewrite this as: Notice how the transition from input(t) to middle(t) is a FIR filter and the transition from output(t) to middle(t) is another. So the IIR filter in fact consists of two FIR filters facing each other. This gives a simple approach to frequency response calculations (see the section IIR frequency response). Turning an IIR filter backwards You can solve input(t) from the IIR equation: Now swap input and output and you have a filter that undoes what the original did. But if the frequency response of the original filter was ZERO for some frequency, the inverted one will amplify that frequency INFINITELY. This is just logical. The inverted filter will also have an opposite phase shift, so that if R(f) is the frequency response of the original filter as a complex number and r(f) is the frequency response of the inverted filter, R(f)r(f)1 for every f. Getting rid of output(tn) Say you have somehow found that you need an IIR filter like this: You need to know both output(t2) and output(t-2) to be able to compute output(t). Doesnt seem very practical. But you can shuffle the equation a little: Now define a new variable ut2 and use it instead of t: Then solve output(u): Now you can use the filter. Getting rid of input(tn) Notice how in the previous example, input(t) became input(u-2). Had there been input(t1), it would have become input(u-1) which can be used in real time filters. Generally, you can get rid of input(tn) this way if the equation also uses output(tm) where mn, because you can define utm which turns input(tn) to input(u-(m-n)) which you get in time. If mltn, this is not possible: Here m0 and n1, so you cant get rid of input(t1) and keep the filter mathematically equivalent to the original. However, you can delay the output by one time unit: Usually, this small delay doesnt matter. But it changes the phase frequency response of the filter and this DOES matter if you then mix the filtered signal with the original one or others derived from it in that case, youd better make sure that all of the signals have the same delay. (Except if you happen to like the extra effect.) (For example, if you have a filter output(t)input(t-1), it doesnt do much as such. But if you mix the filtered signal with the original one, the mixing becomes a filter in itself and you can compute its frequency response and all.) If you try to force the original filter through the utm trick by introducing a dummy 0output(t1) term: youll just get division by zero. FIR frequency response Treat a sine wave as a rotating phasor e(it2piffs) where: The real component of this phasor is the regular sine wave. The neat thing about this is that you can multiply it with various complex numbers to scale the magnitude and shift the phase at the same time. By defining ze(i2piffs), the phasor can be written as zt. This is the same z that is used in pole-zero calculations (see chapter IIR filter design using pole-zero method). Heres the general FIR equation: Now, lets look what the filter does to an infinitely long sine wave with frequency f. But this sine wave can be replaced with the rotating phasor if we then throw away the imaginary component of the output. m(k) is real so the real and imaginary components cant affect each other. Here the zt factor doesnt depend on k, so it can be moved outside the sum: z depends on f (ze(i2piffs), remember) but the value of the sum doesnt depend on t. Ill call it R(f): output(t) is a rotating phasor at the same frequency as input(t) it just has a different amplitude and phase as defined by R(f). This means that for an infinitely long sine wave of frequency f, R(f) shows how the filter affects its amplitude and phase. In other words, R(f) is the frequency response of the filter. Its a complex function. If you dont remember what this means, see section Complex math with filters in chapter Whats a filter in this file. IIR frequency response When two filters are concatenated so that one filters output is fed to the other filters input, the responses are multiplied at each frequency: A filter that just connects its input to its output and doesnt change the signal at all has a frequency response of 1 at all frequencies: Now assume that we have a filter with frequency response R(f) and we make another filter with frequency response Rinv(f) that UNDOES everything the first filter did to the signal when they are concatenated. So the inverse filter also has an inverse frequency response. Remember, an IIR filter consists of two FIR filters facing each other (see section Symmetric form). This setup can be treated as a normal FIR filter followed by an inverted FIR filter: This means that if you can calculate the frequency responses of the two FIR filters, you can calculate the IIR frequency response by dividing one with the other. An example. You have this IIR filter. Change the names of functions a little: Compute the frequency response of filter input1-gtoutput1 (originally input-gtmiddle). The general formulas: In this particular case: The input2-gtoutput2 (originally output-gtmiddle) filter: Now the whole IIR: To actually calculate the frequency response at some frequency, youd apply Eulers formula and the usual complex number rules: R in the filters means resonance, steepness and narrowness. Fastest and simplest lowpass ever Fast lowpass with resonance v1 19 Comments raquo Thanks for posting this. It8217s a nice collection of audio DSP nuggets. May I suggest that the URL at the top of the original text document (iki. fiodspdspstuff. txt ) be pointed directly to this page. Comment by ColdCold 8212 2009-11-16 16:06 Thanks Mate, Greatly appreciate this tutorial. DSP in simple terms is not easy to come by on the Web Comment by Don 8212 2010-05-10 04:29 Thanks a lot. Very useful concepts explained in a lucid manner. Comment by Ravi 8212 2010-08-30 14:59 Hi, About notch filter.. Why I can8217t get the frequency cut effect Sample rate:1600 freq 1950 q 0.1 z1x cos(2pifreqsamplerate) a0a2 ((1-q)(1-q))(2(fabs(z1x)1)) q a1 -2z1xa0a2 b1 2z1xq b2 -(qq) 8212821282128212- frequency: 1950.000000 q: 0.100000 z1x: 0.195090 a0a2: 0.438887 a1: -0.171245 b1: 0.039018 b2: -0.010000 Each sample calculation: 82128212821282128212821282128212821282128212821282128212 reg0 a0a2 ((double)samplecurrentsampleminus2) a1sampleminus1 b1reg1 b2reg2 reg2 reg1 reg1 reg0 82128212821282128212821282128212821282128212821282128212 Is it correct Output is clean voice, but 1950Hz carrier is still there. BR Comment by Alexander Vangelov 8212 2011-03-16 22:46 Freq should be between 0 and samplerate2. (Just a quick comment before I go to bed) Comment by Olli Niemitalo 8212 2011-03-17 00:53 Thank you, it works :) I missed a zerro digit in parametters (just before I go to bed) Sample rate: 16000 Freq: 1950.000000 q: 0.400000 z1x: 0.720854 a0a2: 0.504599 a1: -0.727484 b1: -0.576683 b2: 0.160000 Comment by Alexander Vangelov 8212 2011-03-17 10:43 Very good tutorial, thanks Comment by Vadim 8212 2011-10-11 19:42 man, this is the best introduction (covering all topics) into DSP I stumbled upon perhaps I do have a chance to pass the exam. D sorry, for a double post. but8230 can you attest everything is correct for example, 822082218221 You can use any number of poles and zeros, but they must all have 8220conjugate pairs8221, if they are not positioned on the 8220-8221 axis. 822082218221 is this true I8217m playing with applets that allow for poles without conjugate pairs and seemingly band-pass filters (with regard to the magnitude response) can be built this way. can you please explain ( laps. fri. uni-lj. sidpsarhivappletiisipsystemv4.0srcapplet. html ) Doug, it is true, IF you want the filter to have a real output, not complex. If you make a bandpass with just one pole, and have the pole so close to the unit circle that the filter output is pretty much a single frequency, then the output of the filter will be a complex phasor rotating in one direction on the complex plane. If you switch the sign of the imaginary part of the position of the pole then you get as output a phasor that rotates in the opposite direction. If you have poles in both of those positions, then the output must contain both of those complex phasors in equal parts, thus the imaginary parts of the phasors cancel each other. So you get as output a real sinusoid. Good luck with the exam Comment by Olli Niemitalo 8212 2011-12-27 13:41 This is the first cogent explanation of poles and zeros that I have ever received. I feel better and worse at the same time, if you know what I mean. In any case. THANK YOU Comment by Mark McConnell 8212 2012-05-09 01:12 8230 Yehar8217s Digital Sound Processing Tutorial for the Braindead 8230 Nice Job Men82308230. I found it very helpful. tack. Can you put implementation of audio effects in computer. Comment by Trnform3r 8212 2012-09-16 10:07 Sure, for example as a VST effect. Comment by Olli Niemitalo 8212 2012-09-16 22:14 This is fantastic nice work and a very well explanation of DSP. Thank you :D Comment by tor 8212 2013-02-16 01:42 Thank you so much for this informative writing on the subject which makes life much easier since no-where could I find any book on the subject which makes it as clear as you did here. Keep it going and thank you again. Comment by FJ Botha 8212 2015-02-21 10:14 Frickin delicious Seriously, i thank people like you for simply existing and count my blessings that i found this brilliant introduction you created. The note takingoutline is digestable in one bite and it will stick with me during my upcoming solo winter sound holiday to the pampa and magellians strait, the large uninhabited Falkland rock, and if im still alive - christmas island. Dec to Feb. I hope to capture enough sound to keep me glazed and deadeyed until black metal villians capture Oslo Comment by Mick Dkaye 8212 2016-10-18 19:13 And love that Black Deck. Masonna weeps Comment by Mick Dkaye 8212 2016-10-18 19:16 Leave a commentDSP filter - DISPFIL. EXE Version 1.09J - June 18, 2000 JE3HHT Makoto Mori Translated into English by JA7UDE Oba This is a DSP filter tool using a PC with the soundcard. With this tool, you even can design various types of digital filters including adaptive filters. However, this tool is just experimental and will not afford the practical use for amateur ham radio. You probably need a powerful CPU to make this tool run flawlessly. In addition, you need a soundcard with the full-duplex mode. I made this program just because of my own interest. As I was not quite familiar with the use of the soundcard, it still has substantial time lag from input to output and might not well work for CW. Needless to say, this program is freeware. How to uninstall DSPFIL does nothing to the Windows registry, so just delete all the files with the directory that has DSPFIL files. OS: Windows 95, 98, NT (Note - by VE5KC - has worked fine in tests with Windows XP amp Vista) PC: The faster the better Display: 640 x 480 or more Soundcard: 16-bit soundcard that is capable of FULL-DUPLEX (some cards wont work) Hookup and Operation Connect the speaker out of the radio to the Line-in or Mic of the soundcard. Connect a headphone or speaker to the output of the soundcard. Since the Mic input has too high gain, I recommend the Line-in. Adjust the input level by using Mic or Line level in the Record property or the audio in the control panel. You can do that by using the AF gain of your radio, too. Adjust the output level by using Wave or Master level in the Play property or the audio in the control panel. You also can do that by using Up (up arrow) or Down (down arrow) button on the DSPFIL window. If you have a sound output from your speaker without running DSPFIL. EXE, your PC is configured so as to play the recording signal directly and thus you must turn it off. Go Play property and get Mic-in or Line-in muted. If you hear a sound immediately after starting DSPFIL. EXE, you are ready to go. In case you see a message like quotCannot open the sound device, quot your soundcard probably does not support the full-duplex mode. Give up listening to the filtered sound, but you can observe how DSPFIL. EXE works by the FFT and adaptive filter response windows. Since there is a time lag between the input and output, you should keep the buffer size as small as possible. The time lag has a big trouble in filtering CW signals (you will soon understand what it is when you transmit a signal, Hi). Too high input level causes distortion in the analog circuit of the soundcard. You have to adjust the input level by monitoring the FFT display set to quotIN. quot When overdriven, DSPFIL shows quotOverquot in the upper right corner of the FFT window. When the HPF button is depressed, the 100Hz high-pass filter is activated to the input circuit. It is effective if you have DC ingredient, but it raises the CPU load. Use it only when you need it. Details of the filters This is a comb filter using moving average. This filter, by its structure, gets the actual center frequency Rfo shifted from the defined center frequency Fo by RFo fss int(fssFo) Hz ifss fs 2j This can be compensated by carefully choosing the sampling frequency (fs). However, the sound blaster card does not allow fine tuning around 11025Hz, so DSPFIL admits the shift, Hi. The filter does not use a simple averaging calculation but uses subtractions for 12 periods. Thus, the even harmonics are suppressed, but the odd harmonics can be passed through. It is a good idea to use a 500Hz filter of your radio. It has lower quality in the frequency domain compared with BP100, but I think this filter gives the best performance particularly for weak signals. This is a band-pass filter using an FIR filter. It uses x3 oversampling. The physical sampling frequency is 11025Hz while the application sampling frequency is 3675Hz. If the number of taps is increased, the filter become sharper. However, it increases the processing time at the same time, and therefore it will not run on a slow PC. This is an adaptive band-pass filter for CW. I have not tested a lot on the values of fnofEcirc(mu) and fnofAacute (gamma), but I think the filter works, hi. This filter does not affect Fo or Tap, which is configured in the main window. The frequency-domain graph in the lower right corner shows the frequency characteristics of the transversal filter calculated with the coefficients, which are changed by LMS. You can see how the adaptation is performed by changing the frequency of the input signal. In case of weak signals, the filter coefficients tend to be small, which would result in a low level output. To compensate this, LMSB2 leaves the AGC turned on to increase the volume for the weak signals. This is a fixed frequency BPF for SSB. The low-cut frequency is fixed to 200Hz. If it oversamples the 2.2KHz or higher signals, it causes folding errors because of the decimeter. This filter does not affect the Fo, which is configured in the main window. This is a noise smoother for SSB. The adaptive operation might not be well tuned yet. The SSB signal is smaller autocorrelation than the CW signals, so I put small values in the correlation delays. This filter does not affect the Fo or Tap, which is configured in the main window. This is an automatic notch filter for SSB. It would give better results if it had faster convergence behaviour. However, I dare to focus on the response speed for CW signals. This filter does not affect the Fo or Tap, which is configured in the main window. This is a user-customizable filter. The default setting gives a wide band-pass filter for SSB. You can customize it by pushing the DESIGN button (the button face text is written in Japanese). You can copy the parameters of the selected other filter to those of this filter by pushing COPY (the button face text is written in Japanese) button. This filter does not affect the Fo or Tap, which is configured in the main window. User setting for the adaptive filters LMSBP, LMSNS, LMSAN are built-in filters, but the user can design a LMS filter by himself. Push DESIGN (this text is written in Japanese, so it might not correctly appear with non-Japanese Windows) button and select LMS, then push UPDATE (in Japanese text) button. Now you can change the parameters. The algorithm used in the adaptive filters is called Leaky LMS (Least Mean Square method). The user customizable parameters are: Tap the number of orders of the transversal filter Delay the number of delay nodes 2u the response speed V (gamma) the dumping factor Larger u gives faster response but slower convergence. Smaller V (gamma) makes the coefficients decrease faster when the input signal is cut off. However, too small V (gamma) will result in oscillation. Generally put a value a little bit smaller than 1 to V (gamma). If the REVERSE OUTPUT (in Japanese) is checked, DSPFIL outputs an error signal. It is checked to design an automatic notch filter. When AGC is checked, DSPFIL automatically increase the output volume for weak input signals. The characteristics of the adaptive filters are dependent not only on u (mu) and V (gamma) but also on Delay and Tap. Change all of them to see what happens. Use parameters that are given by another design software If you want to test the filter coefficients that are calculated with another filter design software, try the following steps. 1. Push DESIGN button in User1. User6 2. Select User and push Update 3. Push SAVE button and make a filter definition file. 4. Exit DSPFIL. 5. Edit the filter definition file using a text editor. Sampling frequency No over sampling 11025Hz OverSmp1 Over sampling x2 5512.5Hz OverSmp2 Over sampling x3 3675Hz OverSmp3 Filter order Put the number of orders to TAP field Coefficients Put coefficients to H0. Hn (n Tap) fields 6. Start DSPFIL and push one of User1. User6 7. Push LOAD button to load the definition file. CPU Power Since this program intensively uses floating-point operations and is not well optimized, it will not run on a PC with a slow CPU. 73 de JE3HHT Makoto MoriLoad error in equalizer data in some of the 8.21 builds, due to the 62986299 equalizer frequency fixpressors: Added Feedback2 mode. Different behavior from normal Feedback mode, Ratio is . New product: Thimeo WatchCat. Avant version added. RDS encoder: Added code 0 for FM 87.5 in the AF list. Seems to be supported by some receivers. Stereo Tool: Added info to. sts files to allow importing them in Omnia SST. SST: Added possibility to import Stereo Tool settings. SST: Attack and release are now faster when slider moves to the right. SST: Attack Multiplier: Attack is now faster when slider moves to the right. SST: Improved naming of many things, to be compatible with other Omnia products. SST: Disabled MULTICORE for latency 128 and 256, and LQLL. SST: GUI: Added glowing yellow line around SST tray icon, to make it more visible. Bug fix: ACR Stereo caused some mild crackling. Bug fix: RDS quadrature mode could cause crackles and overshoots. Bug fix: SST: Loading a preset stopped server communication. Some changes could get lost due to this. Bug fix: MAC VST version didnt work in OcenAudio (actually a bug in OcenAudio). Bug fix: SST: Multiband text below horizontal meters was upside down. Bug fix: Restarting on unhandled exceptions didnt work in 64 bit version. Bug fix: VLC: potential crash when switching between streams due to memory allocation issue solved. Bug fix: 1 channel audio processing was broken in 8.20. Bug fix: More-than-2 channel audio processing was broken in 8.20 due to what appears to be a compiler bug. Bug fix (Stereo Tool, SST, Omnia.7. 9. 9sg, possibly .11, BreakawayOne): Time zone changes ignored after startup on Windows (compiler runtime bug). Bug fix: BS412: Singleband compressor was placed after BS412, should be before. Bug fix: SST: Reset settings when loading preset, it kept the current settings if they were not present in the file. Bug fix: UECP client could hang after connection close. Now a new incoming connection kills the existing one. Bug fix: Equalizer frequency could be either 6298 or 6299 due to rounding errors, causing preset load errors. MicroMPX: New license mechanism for ARM version implemented. Code improvement: Less duplicate code in binary for Compress. Smaller binary, faster build, better performance. Added option to run Stereo Tool as a service. RDS: Moved reading RDS from file to a separate thread, should avoid hiccups when reading from network drives. Added code to handle (restart) and log crashes in sound card drivers and VLC. Not yet fully tested. Linux: Now using Ubuntu 14.04 instead of 16.04 to build (better backward compatibility). Linux: Now statically linking libstd (better backward compatibility). Linux: Switched to newer compiler for better performance (20, on both Intel and ARM). Web server: Whitelist allows as in 192.168.. instead of 16 (Leifs formatting), always allow 127.0.0.1. Compressors: Volume jumps on preset changes reduced (compressor adjusts to changing target level). Declipper: Detection (veil) didnt always work properly with gt 60 kHz input sample rate. Performance: Reduced CPU load of IO and processing framework. GUI: Hovering over tray icon now shows version number. GUI: Changed scale of many sliders, dB scale sliders are now flat over the whole range. Bug fix: Potential sound card glitches (bug introduced in 8.12). Bug fix: Crash reported by Camclone Bug fix: FM test tones were broken when using Ignore high frequencies (bug introduced in 8.12). Bug fix: VST plugin no longer cuts off the start of songs (bug introduced in 8.14). Bug fix: UECP port was always used (even if FM disabled). Bug fix: Potential bug in non-ASIO code could cause crashes depending on compiler optimizations (never seen). Bug fix: Potential crackle in lowest multiband band fixed. Rewrote error logging code. Omnia 9sg: Builds with the new framework now. SST: Make IPPORT changable without web gui. SST: Preset list was empty on first start SST: Improved naming of settings in Processing section. SST: Web interface code compiles separate from SST now. SST: Added importing Stereo Tool presets. SST: Multiple MicroMPX output IP addresses and ports CN. SST: Launch browser automatically on first start. SST: Improved startup screen. SST: Currently active presets highlighted. SST: Prepared for longer list of MicroMPX IPports (partially there). SST: Clicking on meters in top bar takes you to the page directly. SST: Top bar meter that corresponds with active screen is highlighted. SST: Add glowing yellow line around SST tray icon, to make it more visible. MicroMPX decoder: Buffer underruns seen on ARM version, caused by loggingtracing library. MicroMPX decoder: Shows more startup info and waits for pressing ENTER at end (command line). MicroMPX decoder: Improved handling of out-of-order and lost packets. Added built-in self test for sound cards. SST: Slider behavior improved (slow vs fast moving the mouse). SST: Preset list was sometimes empty, message added that in this view no presets are available yet. SST: Preset list jumped to new view after opening which looked weird. Fixed. SST: Composite Clipper is on by default. SST: Added presets. Bug fix: SST: Rules are made to be broken disabled when not using dual side band. Bug fix: SST: Clip LR peaks above was always disabled. Bug fix: Glitches due to missing thread priorities fixed (since 8.12). Bug fix: Non-2 channel audio (1, 5.1, 7.1 etc) didnt work (since 8.12). Bug fix: Stereo Tool web interface was adding 20 marks in text boxes when typing spaces (since 8.12). Bug fix: ASIO in 192 kHz, non-ASIO Normal output set to input audio got 48 kHz audio causing underruns (8.12). Bug fix: CPU core affinities Main 1 and 2 were overwritten by LQLL affinity settings (since 8.12). Bug fix: Volume drop when using old Calibration settings (since 8.12). Bug fix: Heap corruption on close for command line version (only visible when a debugger was attached). Bug fix: Linux: Web interface exceptions when closing the web interface. Bug fix: Weird crash in Adobe Audition 3.0 (from 2007), gone after changing compiler settings. Possibly bug in Audition or compiler. Bug fix: Separate thread for SCA input with ASIO didnt work, disabled that option now. Bug fix: GUI: ASIO inputs sometimes showed dotted overlay moving from half-way to top (and disappearing). Bug fix: GUI: Values for Max Attack and Max Release were displayed incorrectly. Bug fix: ASIO buffer was too small, could cause glitches after a buffer underrun. Bug fix: Improved sound card synchronization constant clock speed determination. Bug fix: Sound card timeout times increased to take VLC connection time into account. Bug fix: VST version didnt work in Wavosaur. Cause unknown but it works now. GUI: Gate vs Gate Freeze ranges were different, causing sliders to go outside of their range. VST plugin: Process function crashed when called with lt 0 samples (Wavosaur empty file bug). Added, removed and updates presets. Framework: Added support for upto 7(7) threads, works much better on slower CPUs with many cores. Framework: Added Quality settings 100 (OmniaSST only). With this, latency can go down to 128 samples (5 ms analog input to analog output). Framework: Smooth preset switching - no more hiccups if the same filters are used, also faster. Linux version: High CPU load (100) in one thread fixed. Linux version: Made plugin for Rivendell (and other programs that want to use it). Not yet fully tested. Linux version: Didnt run on Fedora. Fixed. Memory usage reduced. Sound cards: Resampler improved, now measures separate buffer filling and speed offsets. AGC: Added Gain slider. AGC: Added Windowing. Compressors: Added Windowing. Composite Clipper: Rules are there to be broken mode could cause occasional 1-sample overshoots. Fixed. Low Latency monitoring: Affinity setting added. Low Latency monitoring: Latency selection added. Removed lower lowpass filter for high frequency input at lower latencies, not needed anymore. GUI: Showing AGC gating the same way as for compressors GUI: Low Latency monitoring: CPU usage display added. GUI: Added Hear buttons to listen to the output upto this point. GUI: Fixed synchronization issue between meters, scopes and audio. GUI: Help pop-ups also work on Mac OS X now. GUI: Renamed PNR Noise Hum to Dehummer. Web server: Multi-threading added. Now handles upto 10 requests simultaneously. Web server: no-cache added to objects. js. Web server: Automatically add index. html if a directory is specified. Web interface: Added white list for logging in. Web interface: Added spectrum display for Delossifier and Absolute Highs. Web interface: Buttons didnt work. Generic plugin: Added option to make the plugin access input and output sound cards (Windows only). Bug fix: Potential crash in ASIO when changing channels fixed. Bug fix: Potential crash when zooming waveforms fixed. Bug fix: Latency with ASIO was not fully predictable on restarts. Fixed, allows for slightly lower latencies. Added Delossifier, repairs MPEG-compressed audio. Added Absolute Highs, generates lost (lowpass filtered) high frequencies. Added FM MPX Analyzer with MPX demodulator, RF bandwidth view and LeftRightQuadrature () decoder. Added RDS ASCII external input support for programs such as Arctic Palm, RDS Magic. AGC: Added Ratio control. Composite Clipper: Added Rules are there to be broken mode for extra loudness and clarity. Clipper: Added Multipath Stereo Phase Difference Remover to improves reception and reduce multipath. FM: Added Polar stereo encoder for OIRT 65-74 MHz (Soviet system) FM stations. FM: BS412: Filter bass based on ITU.1770 instead of the existing kinda-randomly-chosen weighing. AM: Added test tones, including a sawtooth with a pauze at 0. Improved resampling between sound cards (more improvements are still needed). Raspberry Pi: Optimized the code a bit. Linux versions: Remove wxWidgets, replaced by pure XLib. Mac OS X versions: Remove wxWidgets, replaced by pure Cocoa (VST: only 64 bit so far). GUI: Auto-hiding deprecated pages and sections if they are disabled: AGC: Compatibility amp behavior header Bass AGC (Old) Classic Multiband Compressor Classic Singlenband Pre-limiter (no longer needed since Leifs clipper improvements) Advanced Clipper: Bass protection (Deprecated) heading Advanced Clipper: Highs gap protection heading (replaced by Leifs gap protection) GUI: Auto-hiding deprecated settings if they are set to the optimal value: Leifs clipper efficiency modification checkbox (overruled by Leifs clipping strictness) Composite clipping Strictness (CPU) checkbox Phase rotation: At start of processing checkbox All Singleband and Multiband Compressor type (Analogdigital) pull-downs Multiband and Natural Dynamics Flat Frequency Response Compatibility mode (bad) checkbox Advanced Clipper: Smooth slope setting (under Distortion) Advanced Clipper: Upsampled highs clipping (useless) setting (under Distortion) Advanced Clipper: Stokkemask: Force Stokkemask even if not using Composi te Clipper (bad for audio) BS412: De-basser non-ITU.1770 compatibility mode (bad) checkbox GUI: Added tool tips. GUI: Add indicator that a setting has been modified. GUI: Added reset mode to last-loaded setting beside the existing reset to default. GUI: Made scope skinnable. GUI: BS412 disabled Advanced Clipper Drive. GUI: AM: Added Forcibly remove DC offset to the AM settings panel. GUI: Hide Stereo Tool and Thimeo names in whitelabel builds. GUI: Made distinction between switches and onoff buttons. GUI: Added Multiband Quick Overview screen with the most important settings. GUI: Redesigned Simple mode pages: Single screen overview. GUI: Added names Diversity Delay and HD to indicate that it can be used for HD. GUI: Made R3LAY skinned version for LAWO R3LAY. Command line version now also handles licensing properly. Bug fix: Fixed VST DLL unload bug that affected Adobe Audition. Bug fix: Fixed crackle at startup caused by Ignore High Frequencies (even if disabled). Bug fix: BS412 was still active when FM was disabled. Bug fix: Sound card setting Input without processing didnt work in stand alone version. Bug fix: ASIO: Fixed 1624 bit LSB modes used by new AudioScience 192 kHz card. Bug fix: ASIO: Added a check to get rid of a small memory leak in the ASIO SDK. Web interface: Added Access-Control-Allow-Origin: to binary HTTP protocol to support cross-server scripting. Generic plugin API: Added GetApiVersion function. Generic plugin API: Added stereoToolIsLicenseValid function. Added, updated, removed and reordered presets. Improved quality of bass, ringing artifacts cleanup filter caused some clicking effects in low bass (Since v 5.00). Added 8x oversampled non-phase linear Butterworth de-emphasis to match some hardware units pre-emphasis. Sound cards: Added backup sound card support (sound card 1 switches to 2 after some silence). True Bass: Add highpass filter for lower latencies because it can cause very low subs, caussing problems on FM. Highpass filter: Improved non-phase linear HPF a bit, works better when used after other filters now. ASIO: Only claim the channels that are actually in use. ASIO: Add already in use as possible cause to ASIO claimBuffers error message. ASIO: Added LeftRight indications in dropdown list. ASIO: Changed default channels to disabled except for Normal Output and Input. ASIO: Add more output selections - Increased from 8 to 32. Ignore High Freqs: Added Auto frequency option. Determines lowest possible value for max CPU load reduction. PNR: Settings now stored in. sts file for VST plugins (partial fix of the problem). Clipper: De-esser: Changed default value, now disabled by default. Reduces the CPU load. GUI: MPX display disabled when waveform display is disabled. GUI: Improved RESET. now gives preferred values instead of traditonal values needed for old preset compatibility. GUI: Disable Composite Limiter slider when Hard Limit is disabled. GUI: Bug fix: Phase Delay was not grayed out in Bypass mode. Bug fix: Some settings were net reset when loading a default preset in previous version. Bug fix: VST: GUI-related hiccups in Adobe Audition. Bug fix: Synchronization to external RDS signal could sometimes have a hiccup due to a threading issue. Bug fix: BS412 level calculation was wrong for LR instead of MPX output when using non-Pre-emph output. Generic Plugin: Add function to Get parameter values. Added new presets. FM: Add extra pre-emphasis for clipping for stations that send the processed FM signal through a lossy codec. Web interface: Added Presets dropdown menu and Bypass in web interface top bar. Sound card control: Slightly better low latency handling for non-ASIO. Sound card control: Auto synchronization mode means OFF when any of the affected buffer sizes is lt 250 ms. Bug fix: Error in AM AF frequency list for RDS. Some high AM frequencies might not have been encoded correctly. Bug fix: Simple Clipper Pre-limiter amplification was performed even when Simple Clipper was disabled. GUI: Bug fix: True Bass was called WARM BASS in the LOADSAVE menu, and WB in bottom menu. GUI: Bug fix: Lowpass filter frequency was displayed incorrectly for Separately processed streaming output. GUI: Bug fix: Pre-emphasis for MP3 was shown disabled when using Separately processed streaming output. Code: Redesigned for faster compiling. Updated presets. Generic plugin: Added function to set parameter values. Generic plugin: Added export of ParameterEnum for generic plugin customers. Bug fix: In 7.80 Automatic restart could be triggered incorrectly when the buffer size was very small. Bug fix: Fixed some small issues caused by the Thimeo framework rewrite, had no effect. FM: Improved Stokkemask (ITU-R. SM1268) filter for composite clipper (sounds better). FM: Fixed several bugs, mainly noticeable in SSB mode, at lower Quality settings. FM: SCA1 channel is now displayed in MPX graph. Updated and added some presets. FM: Added composite clipper FM: Added SSB (Single Side Band) mode. (Requires composite clipper.) FM: Added Multipath clipper. (Experimental Requires composite clipper.) Loudness: Improved Airy Highs. Highs now sound crisper and less tonal. Loudness: Rewrote clipper to reduce CPU load (Strictness can be set lower to give similar results). Added Phase equalizer. Updated and added many presets. User interface: 5 modes ranging from Simple to Extreme Tweaker. Basic should be good for most people. Greatly reduced CPU load of almost all filters. With identical settings, the CPU load is typically 12 reduced. Singleband compressor completely redesigned. Keywords: Attack, release, release hold, ratio, feed forward vs feedback, lookahead, burst protection. Multiband compressor completely redesigned: Configurable number of bands monitoring individual bands, median display. Added graphics equalizer. AGC: Added side chain. AGC: Added singleband compressor after AGC. AGC: Smoothed Band 1 to band 2 coupling. AGC should work better if declipper or noise gate is activated. Extra lowpass filter before processing to fix problems with songs with excessive very high frequency content. Set 0.25 kHz above actual LPF freq, but never below 16 kHz. Loudness: Improved delayed bass clipping protection to cause less distortion. Provision to discard buffer after a certain period of inactivity added for VST plugin. FM: SCA was missing since version 7.00, added again. Declipper: Reduced artifacts when using declipper in combination with non-phase linear highpass filter. Declipper: Changed default settings based on input from Jesse Graffam. Sound cards: Synchronize to output now also works with Normal output. User interface: Made 6 dB lines in meters more prominent. Bug fix: Disabled mouse hold behavior for all widgets except sliders. Updated and added many presets. Loudness: Added delayed bass clipping for better punch. Loudness: Fixed Bass Shape artifacts, and now also works on higher frequencies. Loudness: Added option to dynamically switch off distorted midshighs for tones. RDS: Better special character display in GUI. Updated presets. Added 5.1 and 7.1 audio support (channels are declipped, highpass and lowpass filtered and clipped, nothing else yet). Loudness: Improved bass clipper, better punch and warmer sound with more mid-bass. (old vs new) Loudness: Removed volume drop between 2.8 and 3 kHz. RDS: Added convertor from Windows-1252 to RDS characters to support special characters. Installer made smaller by moving non-SSE2 version to a separate installer. Now below 1 MB again :) Bug fix: Drawing issue in 7.00 and 7.01 pull-down menus without scroll bar when using mouse wheel. Bug fix: Left and right channels were sometimes swapped when loading a preset in 7.01. Bug fix: Stokkemask clipper was broken in 7.01. Carbon Coder plugin now supports R128 normalization for 5.1 and 7.1 audio. Added some presets. Solved several VST GUI issues in several VST hosts. Made VST window a bit bigger. On loading built-in presets, most FM and sound card settings are no longer reset. Volume increase on preset reload should not occur anymore, although Im still getting reports that it does. But at least one cause is solved. Added sound card restart button, was missing in version 7.00. Bug fix: GUI unresponsive at very high CPU loads when you click right of text in text box. Bug fix: BS412 acted weird with FM sound card enabled, pre-emphasize output disabled at low input sample rates. Updated presets. Total GUI redesign. Interface dynamically adapts to screen size and is nearly touch screen ready (keyboard needed). Added new version alerts and specific warnings which unregistered functions are in use. Last selected preset name visible after restart. Added web interface (no access protections yet). Completely rewritten parameter handling code solved bugs and reduced the chance of introducing new ones. Added ability to reset, load and save parts of presets. Added input sound card Gain control. FM transmitter audio synchronization added to synchronize streaming audio at multiple transmnitter sites (experimental). Loudness: Changed bass clipper behavior, flatter frequency response sounds a bit warmer. Loudness: Bass clipping filter bug fixes: Whistle artifacts gone, knock-on-wood artifacts reduced. Loudness: Airy Highs turned off if there are very little highs (reduces crackling sound that sometimes occurs). Declipper: Reduced clicking artifact in reconstructed audio. Declipper: Improved splitting load over 2 cores. FM test tones: Added Bessel null frequencies and smooth square wave (sounds less loud) test tone mode. Removed a number of memory allocationsfrees that occurred during processing. Added a lot of presets. Natural Dynamics is available in the GUI again, if you enable it explicitly in the INI file. Added sound card input and output tilt adjustment (2nd order). Loudness: Changed clipper distortion masking model, giving less distortion at nearly the same highs level. Loudness: Added Airy highs, makes highs sound both louder and more natural (less restrained). Loudness: Removed bugs that caused hole punching by loud highs. Loudness: Highs Priority no longer causes volume drops caused by loud highs. Loudness: Redesigned de-esser for pre-emphasized sound. Bass sensitivity: If there are both mids and highs, the drop is a bit less strong than before. Bass sensitivity: Determining more precisely when the clip is needed. BS412: Added max deviation (- 75 kHz) display. BS412: Added headroom slider. Determines margin for error to avoid sudden volume drops. BS412: Max deviation can be lowered to create denser sound and protect against sound card problems. BS412: Faster rise after fast drop for louder end result. GUI: Added displays so you can see what is being sent out to the sound card (including calibrations). GUI: Cleaned up Loudness panel (removed some things that are no longer needed). Bug fix: Latency 512 didnt work properly. Bug fix: Fixed GUI issue where singleband compressor settings were not always correctly loaded. Bug fix: AXIA input sound card loading issue. Added Carbon Coder plugin with multi-pass R128 support. AGC: Added a slider to protect against volume drops for loud voices. Loudness: Improved overall filtering (removed post ringing) at latency 4096, sound is cleaner in many ways (especially bass). Added some new controls for configuring it (Time Spread) Loudness: Advanced Bass Distortion Protection: Improved bass clipper. Bass is now louder and clipped tighter Loudness: Added bass shaping. Adds harmonics to very low frequencies to make them sound louder Loudness: Allow turning highs intermodulation distortion off Loudness: Added highs priority slider, increasing this reduces high frequency intermodulation distortion but may cause some drops in other frequencies Loudness: Asymmetric bass reduction should not go below dynamic threshold Loudness: Reduced strictness, the high precision wasnt really useful Loudness: Split sensitivity for bass clipper: Can now be configured separately for mids and highs. Result: more constant and higher bass level Loudness: Turned off old bass protection mechanisms in default settings. Caused artifacts, no longer needed Loudness: Reduced clipping strictness for mid-bass frequencies (lower CPU load) Loudness: Increased de-esser range, and it can be turned off now Loudness: Simplified clipping algorithm Stereo Boost disabled for lowest frequencies (below approx. 140 Hz) BS412 limiter: Show a warning and info when BS412 is enabled BS412 limiter: Fixed drops issue. Very brief drops can still occur but they are usually hardly noticeable BS412 limiter: Changed default values for more constant sound level Added and updated many presets Split values for Singleband, Singleband AGC style and BS412 Bug fix: Stereo Image was broken for latency 512 Bug fix: Icon now visible in stand alone version Bug fix: Stokkemask clipper didnt work at latency 512.Major code cleanup and restructuring Added BS412 limiter Added Stokkemask clipper Improved scope display (triggered) Improved low latency (6 ms) monitoring output in Stand Alone version Improved overall quality by changing the processing window shape for ALL filters Added support for cheaper limited WinampDSP declipper license Reduced CPU load when playing pure silence AGC: Improved handling of sudden loud bursts Loudness: Improved protection of mids against loud highs, which were causing drops (holes) in the sound. Loudness: Changed the bass protection shape Loudness: Added protection against distortion caused by asymmetric bass sounds Loudness: Slightly better protection of frequencies below 700 Hz against very loud bass Loudness: Bass protection and de-esser levels were calculated incorrectly if Final Clipper was enabled with a volume other than 1.00 BS412 limiter now also works with Pre-emphasize output disabled. Phase rotator: Improved behavior and display Bass AGC: Now works on a much smaller frequency range so it only affects really deep bass sounds Bug fix: Changed default values for the Allow more distortion sliders in the VST version Bug fix for Omnia 9: RDS AB flag works properly now, and if you change the RadioText and there was no sequence of texts there the new text will start to be broadcast immediately Bug fix: Forcibly remove DC offset in Loudness did not always work properly Slightly reduced Loudness CPU load, but the new highs protection adds a lot more if its enabledAdded multicore support for Declipper and Loudness. Throughput is now 38 higher in presets that use both. Loudness: Fixed a bug in the non-SSE2 version. Declipper: Fixed memory bug in clipping detection. This may have lead to weird issues. Improved performance when closingminimizing Stereo Tool if the virus scanner NOD32 is used. Bug fix: Loudness de-esser setting was not saved in VST plugin. Bug fix: Loudness values above 3.00 were not loaded correctly in VST plugin. Bug fix: TA button in main window did not work. Changed a value in Bojchas Neodymium preset. There is now also a separate declipper program See perfectdeclipper. Added declipper filter Loudness: Completely redesigned for more consistency, better transients, louder output and greatly improved highs. Punch is no longer needed. Loudness: Improved vibrating voices filter caused by loud bass. Loudness: New filter that removes highs distortion caused by loud bass, now allows bass levels upto 100 without (much) distortion in the highs. Loudness: New filter that detects when highs cause volume drops in the rest of the sound, and briefly lowers the highs level. Loudness: Added oversampling checkbox for streaming and mastering: This makes sure that no clipping will occur if the audio is upsampled afterwards. Loudness: Added separate dirty bass mids highs sliders for better bass control and artistic effects. AGC: Redesigned to handle different input levels much better. AGC: Enabled ITU-1770 support (for bass and head separately). AGC: Added stereo separation control. AGC: Added start level for mastering. AGC: Separate Remove remaining peaks settings for lows and mid-highs. AGC: Added Force level below slider for improved peak control. Forces the AGC level down faster if the difference gets too big. Added Bass AGC filter to reduce excessive bass sounds. Multiband: Added voice protection settings to better cope with loud vocals in music. Multiband: Allow changing band frequencies (only via STS file). Multiband: Added control of link between bands 1 and 2. Pre-emphasis: Moved to end of processing, just before clipping. Highpass filter: Improved filtering to reach a cleaner output. Highpass filter: Added order setting for non-phase linear filter. Improved audio processing window shape to reduce artifact levels. Improved pre-ringing filtering to avoid artifacts that occurred before. Added SCA output channels (SCA1 works, SCA2 is problematic due to the required frequency range). Support added for multiple Stereo Tool installations with different settings per installed version (requested by Jazler). Added registration to command line version. Bug fix: Fixed Test right channel in FM Transmitter Calibration (broken in version 6.10). Bug fix: FM Calibration frequencies 23-57 kHz were not at the correct frequencies. Bug fix: Fixed leftright channel swap that could occur in the stand alone version. Bug fix: AGC could hang in some cases when enabling more bands. Fixed. Bug fix: Phase rotation did not sound good at low latencies in version 6.10. Bug fix: Time zone in RDS was wrong. GUI improvement: Made waveform background black. RDS: Adjusted behavior if no special characters (lt, gt, , ) are used: Word wrap with centering is selected by default. This was done for the Omnia 9 that uses the Stereo Tool RDS encoder the behavior is now identical for both systems. RDS: Ignoring trailing spaces for word wrap. Added a lot of presets. Added interface for blind users. Set environment variable STBLIND to 1 or YES. Reduced latency: Latency: ASIO: Add processing priority control to enable very low sound card latency ( 1-3 ms) without hiccups total latency of 16 ms possible. Latency: Upsampling (for FM) and downsampling (for high input sampling frequencies) no longer causes extra latency. Latency: Reduced Composite Limiter latency from 1.7 ms to 0.9 ms at latencies 512 and 1024. Some (very small) effect on audio. Latency: Found a bug that caused hiccups in audio processing, fixed it. Results in lower possible latency. Latency: Pushing data to the output before the processing instead of afterwards to reduce latency. Improved audio quality at low latencies: Dynamically adjusting audio processing windows at low latencies to better match the type of audio that comes in. Dynamically adjusting clipping effectiveness to avoid clipping too much in certain conditions, depending on audio processing window and audio content. This protects soft highs against horrible vibration caused by bass sounds at latency 512 and (less) 1024. Upsampling and downsampling: Far less artifacts caused, far cleaner output signal. Created alternative Phase Rotation filter for low latencies (512, 1024). Multiband: Added an artifact protection step that limits the maximum difference in reduction between adjacent bands, if they cause too much (configurable) artifacts. Multiband: Adapted frequency bands and band content to make Multiband at latency 512 sound as much as possible as higher latencies. Loudness: Disabled Improved Bass Distortion Protection filter for latency 512 because it caused distortion. Loudness: Fixed vibrations caused by Very deep bass distortion protection at latency 512 and 1024. Now also enabled for latency 512. Hard Limit: Fixed (minor) artifacts in upsampled audio. Bass Boost: Reduced artifacts at latency 512. Note: Using a less steep filter (bigger difference between frequencies) helps Other changes: Loudness: Improved Punch filter: Now causes far less artifacts than before. But it is less effective for soft sounds. Loudness: Removed distortion caused by Punch. Bass Boost: Removed distortion. Quality and Latency are now part of presets, and STS files. Bug fix: Loading and saving Noise levels in VST version resulted in incorrect behavior. Bug fix: Displayed Multiband output levels were unreliable at low latencies, especially clipping. Bug fix: For high input sample rates, now removing very high frequencies that cause issues with Hard Limit. ASIO: Added ASIO Configure button, which allows setting ASIO parameters such as ASIO buffer granularity. ASIO: Changed buffer size configuration to match whole ASIO grains. Added and updated a number of presets. Noise gate: Fixed crackling sounds in first band. Added FM Hiss filter. Removes FM hiss from input signal, useful for re-transmitting FM signals. AGC: Added Based on volume before Pre Amp checkbox to make it easier to create presets with consistent behavior at different Pre Amp settings. AGC bug fix: Behavior was different at different input sample rates. AGC: Lock band 1 to band 2 if the bass is loud but not extremely loud it is not lowered. This avoids sound changes caused by the AGC, and results in a warmer, more natural sound. Multiband: Added Flat frequency response mode which works much better. Multiband: Added display of the median amplification, useful for configuring Multiband settings. Singleband: Added AGC style mode. Doesnt seem too useful though. Final Limiter: DIFF mode fixed. Final limiter is now automatically bypassed when Loudness is used (improves audio quality and reduces CPU usage). Loudness: Added filters to protect highs against loud bass sounds. The bass level can now be set much higher without causing distortion, even if Punch is used. Loudness: Added maximum mirror reflection to make the sound more natural (less metalic) and louder. Loudness: Fixed Improved loudness distortion protection artifacts. Loudness: Fixed Very deep bass distortion protection artifacts. Loudness: Removed Allow louder lows slider (no longer needed). Loudness: De-esser: Replaced Allow louder highs by an AGC. Loudness: Added a slider to increase the dynamics of the output (by allowing some more harmonic distortion). Loudness: Added a filter to protect certain sounds (female voices) against vibrating. Loudness: Fixed dynamic Loudness input level behavior of Punch Hard Limit: Added an extra slower Hard Limit phase volume comes up slower when the peaks are really loud. Added Lossy Compression (MP3AACOGG. ) output optimization filter for webradio stations. See this image for a display of the effect of different pre-emphasis values on 128 kbits MP3 files this image displays a frequency analysis (high frequency content means clipping), again 128 kbits MP3, Post Amp at 90. FM Output: Repaired the lowpass filter which sometimes caused artifacts. VST plugin notifies host of the delay. VST plugin: Bypass mode fixed. VST plugin: Removed separate window border, now loading inside host window. VST plugin now also works in mAirList. Improved handling of hiccups in the stand alone version when the CPU load gets very high. Presets: Made Generic and Web Radio presets sound much closer to the sound of modern CDs. Presets: Made FM presets sound much closer to that of popular hardware processors (more bass and highs, among others). Presets: Added new user presets, removed some obsolete ones. Command line version: Files larger than 2 GB can be processed now. Linux version added Both a standard command line version and one with a GUI. Cleaned up unused code: Reduced executable size by around 40, installer by 25. Reduced CPU load by 3-4. Reduced memory usage by over 4 MB (from over 24 MB to under 20 MB). Removed part of Core Duo support from the SSE2 version (no effect on performance, only increased file size). Removed SSE2 support from the SSE version (which was accidentally included in it). Fixed Windows Vista This program might not have installed correctly warning. VISIT SITE button was being redrawn continuously - fixed. SSE (Pentium 3) version: Replaced some generic code by SSE code (70 performance boost). Multiband: Very large differences between equalizer or soft limit settings in the lowest bands are handled correctly now. AGC: Improved handling of sudden spikes. AGC: Remove remaining peaks gives far less artifacts, sounds more stable. AGC: Introducted dynamic hold time to improve control of output level (much closer for tracks with very different dynamics contents). AGC: Fixed bug that could cause strange behavior durig absolute silence. AGC: Added possibility to work on 2 channels combined, instead of just operating on them separately. AGC: Added gating. AGC: Added 3rd band for improved highs control. Noise gate: Disabled 1st band because it caused artifacts. Completely redesigned the processing pipeline to reduce the maximum latency from over 1.5 seconds to at most 0.1 second, with a better sound quality. Made latency configurable in 4 steps: 512 (ca. 13 ms), 1024 (25 ms), 2048 (47 ms) or 4096 (93 ms, best quality) samples. Reduced CPU usage by more than 50. Replaced 3 quality modes (LO, MID, HI) by a continuous slider. Reduced memory usage by 17 MB. Replaced Pre Limiter by an RMS-based 1 or 2-band AGC, which controls the volume much better. Added a Bass Boost filter. Added Phase Rotation filter that greatly improves the sound quality of many difficult sounds (trumpets, female voices) when loud output levels are required. Added a filter that removes any pre-ringing (weird sounds before a sound burst) which was present in older Stereo Tool versions. Improved the Multiband clippers audio quality: Multiband clipping sound much cleaner now. Removed Trumpet sound filter from earlier versions that was intended to improve the quality of certain sounds, but also caused a lot of side effects (no longer needed due to the new phase rotation filter). Removed Multiband HQ mode (no longer needed). Made main window resizable and maximizable. Bug: No 2 Stereo Tool instances can be loaded in a VST engine based using the same Stereo Tool DLL file. A popup now displays this message and gives a workaround. Presets updated (now using Bass Boost and Phase Rotation where appropriate) or added. RDS without stereo no longer generates a 19 kHz pilot tone. In case of FM output, normal output is closer to the FM sound, and the FM sound is clipped better before FM Overdrive - using FM Overdrive now leads to a 3 louder output signal than before with better quality. Input and output volume meters blink in red to indicate clipping if the maximum volume is reached (input) or surpassed (output). Improved performance of waveform and MPX display. Improved dithering (final step in processing): If audio is not changed, dithering doesnt change the sound anymore. Bug fix: VST version now allows opening multiple instances of Stereo Tool (earlier versions crashed). Bug fix: Hangups when playing. WAV or lossless files in Winamp. Bug fix: RDS AF (Alternative Frequencies) was not turned off properly if no frequencies are specified. It might have worked, or no, depending on the receiver. Added warnings about sound quality when latency is reduced or FM pre-emphasis is enabled. Configure Audio and Display button blinks when audio is being removed due to the Clear buffer if no data arrives for setting. Waveform display indicates Bypass mode. Improved looks of tray icon. Bug fix: Bypass all in ASIO mode (stand alone) now works properly. RDS volume adjusted: It was slightly louder than the setting. Loudness: Added yet another filter (Very deep bass distortion protection) to reduce bass distortion and make the total sound cleaner. Loudness: Now bypassing Punch for frequencies below 45 Hz for cleaner output sound. Loudness: Improved handling of female voices and xylophone-on-top-of-low-strings sounds, leading also to an overall more natural sound. Re-organized Loudness window. Should be clearer now. Stereo Boost: Added a filter that removes excessive reverb that occurs in some songs. The result is much closer to the original sound, but still with strongly increased stereo. Bug fix: VST plugin version: Some version 4.00 parameters were not saved. Slightly improved some presets. Loudness: Added a filter to reduce bass distortion. Bass levels can now be set much higher without getting more distortion than before, or kept at the same level for better sound quality. Loudness: Added a deep bass boost filter that boost very low (up to about 70 Hz) bass sounds by about 1.5 dB (at 100 Hz the bass is about 0.8 dB softer though). Loudness: Added a limiter to the CleanPunch filter to remove distortion caused when setting it close to Punch. Moved CleanPunch default setting closer to Punch. Low Quality mode: Changed the processing that is used for low quality mode. Quality is much better than before, and the CPU load is reduced. Low Latency mode: Fixed some issues in the low latency processing. Latency is now approx. 100 ms lower than before, quality is much closer to that of normal latency processing. Noise gate: Noise reduction can now be set for each frequency band. Added a number of presets with more bass. Added Marinos Urban preset to Web Radio presets. Added new stereo widening filter: Stereo Boost. Updated most of the presets to use the new Stereo Boost filter. Reduced the minimum value for the gap detection time. Bug fix: No audio problem unless bypass is used solved. Bug fix: Too long delay in tray icon volume display solved. Improved Hard Compression: Dance presets. Bug fix: Under certain circumstances occasional hangups could occur. That should be solved now. Single core systems were not properly recognized and used code that was optimized for multicore systems. The CPU load on single core systems should be slightly lower now. Loudness filter: Improved the filter that detects high frequency distortion caused by very low frequencies. Low frequencies are now much louder, and distortion is greatly reduced. Loudness filter: Added a slider to choose between clean sound (with ringing artifacts) or punchy, as-close-as-possible to the original sound. Punchy sounds a lot better, but it may introduce some distortion (which is largely solved by the fix on the previous line). When opening a window that was already open, it jumps to the front now. Stereo Tool logo added to the window title bar, also displayed now when using ALT-TAB. Bug fix: Version 4.01 crashed on some Vista systems. Loudness filter: Improved bass sound, especially for high (3.0) Loudness values. Bug fix: VST plugins working again. Interface: When clicking on a panel which window is already open, it jumps to the front. Redesigned the interface. The main window is now smaller and less crowded. Each filter has its own window now, and many values are displayed in dB also. The output displays in the main window are now synchronized to each other, and can be synchronized to the audio player sound card output. Added a fix for the annoying part of the previous song gets played at the start of the next song problem in Winamp. Note that this fix is a workaround for what is essentially a problem of Winamp, and it may not be perfect. Reorganized the Presets pulldown menu, and added the 10 last used preset files to the list. Also the currently selected preset is visible in the Presets pulldown button now. Added more control over how the Loudness filter works. Its now possible to allow more highs or more lows to pass through (this may cause some distortion though). Pre Limiter is now using perceptive volume instead of peak level for much better initial volume control. Added a filter to remove remaining loud peaks after the Pre Limiter filter. The Pre Limiter works with a delay, the new filter is a lookahead filter that removes remaining peaks, which occur mostly at the start of a new track after some silence. Final limiter now has an option to use less CPU power (in that case it doesnt preserve the volume). Added a pre-final limiter filter for loud peaks (the normal Final Limiter is loudness preserving, but it doesnt handle very loud sounds well. This pre-final limiter filter removes those very loud sounds.) Loudness filter: The Loudness filter can now handle much louder peaks than before. This even makes it possible to use the Loudness filter as a limiter. Loudness filter: Loud S sounds now cause far less bass level reduction - so the sound is more stable. Loudness filter: Added a filter that detects and removes high frequency distortion caused by loud deep bass sounds. Loudness filter: Improved the filtering so it sounds smoother now. And with the same settings the sound is slightly louder than before with less artifacts. RDS: Added Now playing support for Winamp plugins without the need to use external files. RDS: Added date and time displays. Improved the HARD LIMIT filter, sound should more consistent (less pumping) now. Included the Singleband Compressor from versions 2.11 and below again. Its available from the Limiting Loudness window. Added some presets made by Vamprecords, SuperH and Bojcha. Added a Bypass all button on the main window. Added FM RDS TA button on the main window so traffic announcements can now be indicated without opening the FM configuration window. Performance: On multicore systems, the processing now uses multiple threads. Some slower AMD dualcore PCs couldnt handle FM output in High quality, now they can. Fixed a bug: The highpass filter seems to have been disabled when Multiband compression is turned on since version 3.50. Fixed a bug that could cause blocks of bad pixels in the user interface. Fixed a bug that caused presets to sound slightly different when they were selected while audio was playing. Fixed a bug: On startup, even if Multiband HQ was ticked Multiband didnt run in HQ mode. Greatly reduced the gaps that occur when switching between presets. Uncoupled screen redraws from processing. This allows Windows to select a different CPU for screen updates on multicore systems, and they might get disabled temporarily on single CPU systems when the load is high. Loudness filter: Louder and more stable bass sound. Soundcard support (stand alone version, Direct Soundcard Output on plugin versions): No more stuttering when the output buffer is empty, instead a short break is inserted such that the buffer is filled again when playback resumes. (No change for ASIO output). Loudness filter: Warmer, louder and more stable sound with deeper bass and cleaner highs. Added wave input and output displays. Added MPX spectrogram display for FM output. Fixed a bug that caused the Loudness filter in Normal quality mode to sound softer ( 0.3 dB for Loudness 4.0). FM transmitter bug fix: In version 3.52 the improved filtering caused RDS reception problems on some (mainly German) FM receivers. Fixed. Stereo widener is now almost as strong as in versions before 3.51, but with far less artifacts than before. Especially low quality MP3s should sound a lot better. FM transmitters: MPX filtering cleaned up further, noise level is now around 90 dB below the actual signal (used to be about 30 dB). Very minor change in pre-filtering steps that should slightly improve the handling of loud high frequencies. FM transmitters: Improved filtering for a cleaner MPX signal. Stereo widener causes less artifacts, but also has a bit less effect. Loudness filter: Recalibrated to achieve a much cleaner and louder sound. Distortion that was still present in version 3.40 is now nearly gone, and values up to 3.00 sound good. Values up to 4.00 are now allowed. Loud highs now have far less effect on the loudness of the other sounds - so it sounds much more stable. Added a filter to improve trumpet sounds. Improved quality and loudness of deep bass sounds. Improved FM pre-emphasis to match the official specification (in older versions the pre-emphasis wasnt strong enough, so this new version sounds brighter.) Volume slider now show both pre-emphasized and de-emphasized output levels. Changed Multiband compressor to get a warmer output sound with lower peak levels. Improved the HARD LIMIT filter to sound cleaner, cause far less pumping, and to achieve a louder output volume. Hard Limit filter is now also used if Direct Sound Card Output is used. Improved the composite limiter filter to cause far less pumping, and to achieve a louder and cleaner output volume. Updated presets, added FM Extreme preset. Improved Lowpass filter to filter closer to the selected lowpass frequency (important for AM presets). Also the filtering quality is now much better - the spectrum above the filtering frequency is now really empty. Bug fix: Fake stereo didnt work in version 3.40 - it does work again now. The CPU load is about 5-10 higher than that of version 3.40 - measured using the FM Loud preset. Loudness filter: Completely rewritten. Now reaches much louder sounds (up to 12 dB) with far less effects on the sound quality. Even notoriously difficult sounds such as xylophones are now handled without introducing distortion. Added FM transmitter calibration. If you are having problems with your FM signal (caused by low quality transmitter equipment, sound card, long cables etc.), you can now configure Stereo Tool to accomodate for that. (On my system, stereo separation is increased by 15 dB after calibrating) Composite limiter now operates at 705.6 or 768 kHz. This removes peaks that were introduced by the lowpass filter of the sound card. Hard limit now operates at 352.8 or 384 kHz. This removes peaks that were introduced by the lowpass filter of the sound card. Removed the Loudness option because it is no longer needed. Tweaked the presets to take advantage of the improved Loudness filter (more punch). The CPU load is roughly identical to that of version 3.30 in Low and Normal quality mode as long as the composite limiter oversampling is not used. And it will be a lot slower on PCs without SSE2 support. Composite limiter added. Gives about 7 (0.5 dB) extra loudness on FM transmitters, without affecting the FM Pilot and RDS signals. . Memory footprint reduced by about 12 MB (3.29 used 34 MB, 3.30 uses 22 MB)