A Hanning ablakot kézzel próbálom megtenni, de nem sikerült “nem működik, mit csinálok rosszul?

t=[0:.1:10]; x=.5-.5*cos(2*pi*t/102); plot(x); 

írja ide a kép leírását

Nem tudom, miért nem tudom megszerezni a teljes keresési ablakot.

Megjegyzések

  • Ezt megcsináltam w=hann(100); és jól működik, de szükségem van rá manuálisan.

Válasz

Változtatnia kell ” 102 “-” 10 “.

x=.5-.5*cos(2*pi*t/10); 

Megjegyzések

  • Köszönöm :), bár volt a minták száma
  • @ Pulse9 Azt akarja, hogy az ablak 0-tól kezdődjön és 0-nál fejeződjön be, vagyis ez azt jelenti, hogy a cos-nak 1-nél kell kezdődnie és véget érnie, vagyis pontosan egy ciklust kell átélnie.

Válasz

Volt meteorológus (és Hann ablak- készítő ) nevű

Julius von Hann , Hanning visszaélés (hasonlóság Hamminghez). Jobban ellenőrizheti a kódját, ha meghívja a hann.m vagy a window.m függvényeket:

nSample = 101; t = linspace(0,10,nSample); % w = hann(nSample); w = window(@hann,nSample); % w = .5-.5*cos(2*pi*t/10); plot(t,w) 

Remélem, hogy a manuális megvalósítás nem vonja maga után a koszinusz sorozatokkal történő kiszámítását.

Megjegyzések

  • Miért hívnánk meg az építést a funkciókban lehet jobb? Belsőleg pontosan ugyanúgy működnek, mint a manuális módszer, és több rétegük van az ellenőrzésre és az elemzésre, ami kissé lassabbá teszi őket. A beépítő függvények kifejezetten a következőt használják: " w = 0,5 – 0,5 * cos (2 * pi * x); "
  • @Hilmar " jobb kódvezérlést írtam ", mert a megvalósítandó funkció (egy ablak) kifejezett a hívásból, még hozzászólások nélkül. Valaki, vagy a programozó három hónappal később, könnyen meg fogja érteni, mit csinál, és azonnal meg tudja változtatni, javíthatja, anélkül, hogy kitalálnia kellene. Ezenkívül a hosszúság (nSample) vagy ablaknév változókként való elhelyezése javítja az olvashatóságot.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük