Biến đổi Fourier nhanh - số chu kỳ không nguyên trong khẩu độ FFT


15

Có một vài chủ đề thảo luậncâu trả lời xuất sắc trên trang web này (eletronics.se) về lý thuyết biến đổi Fourier. Tôi đã thử thực hiện tương tự trong một công cụ mô phỏng (MS Excel :)).

Tôi có một vài vấn đề giải thích và thực hiện liên quan đến cùng. Tôi đang cố gắng phân tích một dạng sóng điện áp 50 Hz. Tuy nhiên, dữ liệu dưới đây chỉ là dữ liệu giả được tạo ra khi cố gắng thiết lập một khung khái niệm để thực hiện trên bộ nhớ aa và khả năng xử lý hạn chế 16 bit nhúng bộ xử lý chi phí thấp.


ETA (ngày 30 tháng 5 năm 2012)

Phiên bản TL; DR:

Không cần phải nói về Electronics.se nhưng tôi đang sử dụng bộ nhớ và bộ xử lý nhúng bị hạn chế về năng lượng.

Có một vài câu hỏi ở đây vẫn chưa được trả lời:

  1. Làm thế nào là cửa sổ được thực hiện trên các mẫu mà tôi có mà không làm tăng đáng kể dung lượng bộ nhớ của thuật toán? Tôi muốn đây là một mô tả từng bước cơ bản, vì tôi khá mới mẻ với DSP.
  2. Tại sao cường độ giảm một nửa khi tôi nội suy 41 mẫu để lấy được 32, nhưng vẫn giữ nguyên như vậy (ngoại trừ một số nhiễu) khi tôi nội suy chúng để lấy được 64?

Tôi đang tuyên bố một tiền thưởng cho câu hỏi với hy vọng rằng tôi nhận được một số câu trả lời xuất sắc có thể thực hiện được cho một người mới làm việc trong DSP.


Thí nghiệm 1:

Thời gian nhập tên miền

Tôi đã tạo ra một sóng hình sin bằng cách sử dụng để tạo ra 64 mẫu. Sau đó tôi đã thêm 30% 3 r d hài, 20% 5 t h hài, 15% 7 t h hài, 10% 9 t h hài, và 20% 11 t h hài. Điều này dẫn đến các mẫu này:tội(2nπ/64)3rd5th7th9th11th

0, 0.628226182, 0.939545557, 0.881049194, 0.678981464, 0.602991986, 0.719974543, 
0.873221372, 0.883883476, 0.749800373, 0.636575155, 0.685547957, 0.855268479, 
0.967780108, 0.904799909, 0.737695292, 0.65, 0.737695292, 0.904799909, 0.967780108, 
0.855268479, 0.685547957, 0.636575155, 0.749800373, 0.883883476, 0.873221372, 
0.719974543, 0.602991986, 0.678981464, 0.881049194, 0.939545557, 0.628226182, 0, 
-0.628226182, -0.939545557, -0.881049194, -0.678981464, -0.602991986, -0.719974543, 
-0.873221372, -0.883883476, -0.749800373, -0.636575155, -0.685547957, -0.855268479, 
-0.967780108, -0.904799909, -0.737695292, -0.65, -0.737695292, -0.904799909, 
-0.967780108, -0.855268479, -0.685547957, -0.636575155, -0.749800373, -0.883883476, 
-0.873221372, -0.719974543, -0.602991986, -0.678981464, -0.881049194, -0.939545557,
-0.628226182

Và dạng sóng này:

Miền thời gian Dạng sóng 64 mẫu giai đoạn 64

Tôi đã lấy DFT của các mẫu này dựa trên thuật toán Radix 2 và nhận được các giá trị sau:

0, -32i, 0, -9.59999999999999i, 0, -6.4i, 0, -4.79999999999999i, 0, -3.20000000000001i,
0, -6.4i, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.4i, 0, 3.19999999999999i, 0, 4.8i, 0,
6.4i, 0, 9.60000000000001i, 0, 32i

Lấy các giá trị tuyệt đối của các số phức ở trên làm tỷ lệ cho giá trị cơ bản (giá trị thứ 2) và bỏ qua thông tin pha (nếu có), tôi nhận được cường độ của các thành phần hài được tiêm chính xác như được tiêm.

Đại diện miền tần số

nhập mô tả hình ảnh ở đây

Càng xa càng tốt.


Thí nghiệm 2:

Thời gian nhập tên miền

tội(2nπ/41)3rd5th7th9th11th

0, 0.853079823, 0.857877516, 0.603896038, 0.762429734, 0.896260999, 0.695656841, 
0.676188057, 0.928419527, 0.897723205, 0.664562475, 0.765676034, 0.968738879, 
0.802820512, 0.632264626, 0.814329015, 0.875637458, 0.639141079, 0.696479632, 
0.954031849, 0.50925641, -0.50925641, -0.954031849, -0.696479632, -0.639141079, 
-0.875637458, -0.814329015, -0.632264626, -0.802820512, -0.968738879, -0.765676034, 
-0.664562475, -0.897723205, -0.928419527, -0.676188057, -0.695656841, -0.896260999, 
-0.762429734, -0.603896038, -0.857877516, -0.853079823, -6.87889E-15, 0.853079823, 
0.857877516, 0.603896038, 0.762429734, 0.896260999, 0.695656841, 0.676188057, 
0.928419527, 0.897723205, 0.664562475, 0.765676034, 0.968738879, 0.802820512, 
0.632264626, 0.814329015, 0.875637458, 0.639141079, 0.696479632, 0.954031849, 
0.50925641, -0.50925641, -0.954031849 

Và dạng sóng này:

nhập mô tả hình ảnh ở đây

Tôi đã lấy DFT của các mẫu này dựa trên thuật toán Radix 2 và nhận được các giá trị sau:

14.03118145099, 22.8331789450432+2.81923657448236i, -17.9313890484703-4.4853739490832i, 
-2.54294462900052-0.971245447370764i, 1.74202662319821+0.944780377248239i, 
-7.2622766435314-5.09627264287862i, -1.5480700475686-1.37872970296476i, 
-0.136588568631116-0.126111953353714i, -3.99554928315394-5.93646306363598i, 
-0.840633449276516-1.60987487366169i, -0.373838501691708-0.955596009389976i, 
-1.326751987645-5.7574455633693i, -0.168983464443025-1.34797078005724i, 
-9.49818315071085E-003-1.20377723286595i, 0.571706242298176-4.14055455367115i,  
0.192891008647316-0.865793520825366i, 0.457088076063747-1.22893647561869i, 
3.15565897700047-5.67394957744733i, -0.573520124828716+0.682717512668197i, 
-0.20041207669728+0.127925509089274i, -7.95516670999013E-002-1.22174958722397E-002i, 
-1.57510358481328E-002-6.44533006507588E-002i, 2.50067192003906E-002-8.46645685508359E-
002i, 5.3665806842526E-002-9.01867018999554E-002i, 7.49143167927897E-002-
8.80550417489663E-002i, 9.11355142202819E-002-8.16075816185574E-002i, 
0.103685444073525-7.25978085593222E-002i, 0.11339684328631-6.20147712757682E-002i, 
0.120807189654211-5.04466357453455E-002i, 0.126272708495893-3.82586162066316E-002i, 
0.130029552904267-2.56872914345987E-002i, 0.132228055573542-1.28943815159261E-002i, 
0.1329519244939, 0.132228055573544+1.28943815159441E-002i, 
0.130029552904267+2.56872914345769E-002i, 0.126272708495892+3.82586162066264E-002i, 
0.12080718965421+5.04466357453468E-002i, 0.113396843286315+6.20147712757588E-002i, 
0.103685444073529+7.25978085593135E-002i, 9.11355142202805E-002+8.16075816185583E-002i, 
7.4914316792795E-002+8.80550417489592E-002i, 5.36658068425271E-002+9.01867018999563E-
002i, 2.50067192003947E-002+8.46645685508275E-002i, -1.57510358481296E-
002+6.44533006507526E-002i, -7.95516670999005E-002+1.22174958722402E-002i, 
-0.20041207669728-0.127925509089278i, -0.573520124828709-0.682717512668206i, 
3.15565897700049+5.67394957744733i, 0.45708807606375+1.22893647561869i, 
0.192891008647318+0.865793520825373i, 0.571706242298199+4.14055455367114i, 
-9.49818315070294E-003+1.20377723286595i, -0.168983464443023+1.34797078005724i, 
-1.32675198764498+5.75744556336931i, -0.373838501691692+0.955596009389972i, 
-0.840633449276515+1.6098748736617i, -3.99554928315393+5.93646306363599i, 
-0.136588568631125+0.126111953353722i, -1.54807004756858+1.37872970296476i, 
-7.26227664353139+5.09627264287866i, 1.7420266231982-0.944780377248243i, 
-2.54294462900053+0.971245447370785i, -17.9313890484703+4.48537394908326i, 
22.8331789450432-2.81923657448243i

Đại diện miền tần số

nhập mô tả hình ảnh ở đây

Độ lớn của các số phức ở trên không tiết lộ bất cứ điều gì tôi có thể suy ra trở lại các giá trị được chèn trong miền thời gian.


Thí nghiệm 3

Đầu vào miền thời gian:

Bây giờ tôi đã lấy dạng sóng tương tự và không đệm, tức là đặt tất cả các mẫu vượt quá 41 thành không. Vì vậy, sau đây là đầu vào miền thời gian:

0, 0.853079823, 0.857877516, 0.603896038, 0.762429734, 0.896260999, 0.695656841,  
0.676188057, 0.928419527, 0.897723205, 0.664562475, 0.765676034, 0.968738879, 
0.802820512, 0.632264626, 0.814329015, 0.875637458, 0.639141079, 0.696479632, 
0.954031849, 0.50925641, -0.50925641, -0.954031849, -0.696479632, -0.639141079, 
-0.875637458, -0.814329015, -0.632264626, -0.802820512, -0.968738879, -0.765676034, 
-0.664562475, -0.897723205, -0.928419527, -0.676188057, -0.695656841, -0.896260999, 
-0.762429734, -0.603896038, -0.857877516, -0.853079823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

Và dạng sóng:

nhập mô tả hình ảnh ở đây

Tôi đã lấy DFT của các mẫu này dựa trên thuật toán Radix 2 và nhận được các giá trị sau:

0, 20.0329458083285-9.47487772467906i, -10.5723252177717-8.67648307596821i, 
-8.88751906208901E-002+0.354809649783859i, 3.59322342970171-0.714736578926027i, 
-3.28379151210465-4.42768029850565i, -0.232297876050463+0.434598758428557i, 
1.68672762980862+8.28636148716246E-002i, -1.54927040705738-3.7402696285012i, 
-0.551413356435698+0.608390885175318i, 0.616809338622588+0.187107067289195i, 
-0.458965526924983-3.09409425549091i, -0.966784216252588+0.645984560777537i, 
7.03082277241579E-003+4.21411299459407E-003i, 0.196179960454289-1.99184856512683i, 
-0.919089774378072+0.328855579674163i, 0.222736292145887+0.222736292145884i, 
1.23799833509466-3.45997355924453i, -3.29198268057418+0.324231994037239i, 
-0.495840326552116-0.827259606915814i, -0.434268223171498+0.649928325340974i, 
-1.13740282784196-0.168717771696843i, -8.50255402020411E-002-0.280291642522456i, 
-0.495871287837938+0.449431537929797i, -0.705190861543966-0.292099618913078i, 
-1.8498657760867E-003-3.76548829156425E-002i, -0.56327531746565+0.301076929791613i, 
-0.445444858519027-0.330364422654705i, -2.53084763487132E-002+0.12723430263342i, 
-0.608135034699087+0.152329896227613i, -0.254967975468-0.31067937701979i, 
-0.114451748984804+0.241987891739128i, -0.623647028694518, -0.114451748984793-
0.241987891739111i, -0.254967975467992+0.310679377019776i, -0.608135034699088-
0.152329896227612i, -2.53084763487126E-002-0.127234302633416i, 
-0.445444858519022+0.330364422654704i, -0.563275317465649-0.301076929791616i, 
-1.84986577609081E-003+3.76548829156447E-002i, -0.705190861543962+0.292099618913075i, 
-0.495871287837939-0.449431537929793i, -8.50255402020378E-002+0.280291642522452i, 
-1.13740282784196+0.168717771696845i, -0.434268223171501-0.649928325340972i, 
-0.495840326552115+0.827259606915815i, -3.29198268057417-0.324231994037237i, 
1.23799833509466+3.45997355924453i, 0.222736292145887-0.222736292145884i, 
-0.919089774378077-0.328855579674149i, 0.1961799604543+1.99184856512683i, 
7.03082277241257E-003-4.21411299459534E-003i, -0.966784216252593-0.645984560777534i, 
-0.458965526924974+3.09409425549092i, 0.616809338622592-0.187107067289204i, 
-0.551413356435713-0.608390885175314i, -1.54927040705737+3.74026962850121i, 
1.68672762980861-8.28636148716247E-002i, -0.232297876050455-0.434598758428559i, 
-3.28379151210465+4.42768029850566i, 3.59322342970171+0.714736578926018i, 
-8.88751906209093E-002-0.354809649783852i, -10.5723252177717+8.67648307596825i, 
20.0329458083285+9.47487772467899i 

Đại diện miền tần số

nhập mô tả hình ảnh ở đây

Một lần nữa, Độ lớn của các số phức ở trên không tiết lộ bất cứ điều gì tôi có thể suy ra trở lại các giá trị được chèn trong miền thời gian.


ETA Vì các câu trả lời ở đây chỉ cho tôi biết về cửa sổ, tôi đã thực hiện một thí nghiệm khác và nhận được kết quả sau khi có rất nhiều khởi đầu sai.

Thí nghiệm 4

Đại diện miền thời gian

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.853079823, 0.857877516, 0.603896038,
0.762429734, 0.896260999, 0.695656841, 0.676188057, 0.928419527, 0.897723205, 
0.664562475, 0.765676034, 0.968738879, 0.802820512, 0.632264626, 0.814329015, 
0.875637458, 0.639141079, 0.696479632, 0.954031849, 0.50925641, -0.50925641, 
-0.954031849, -0.696479632, -0.639141079, -0.875637458, -0.814329015, -0.632264626, 
-0.802820512, -0.968738879, -0.765676034, -0.664562475, -0.897723205, -0.928419527, 
-0.676188057, -0.695656841, -0.896260999, -0.762429734, -0.603896038, -0.857877516, 
-0.853079823, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

Giống như:

nhập mô tả hình ảnh ở đây

Hệ số cửa sổ Hamming

0.08, 0.082285843, 0.089120656, 0.100436509, 0.116120943, 0.136018076, 0.159930164, 
0.187619556, 0.218811064, 0.253194691, 0.290428719, 0.330143098, 0.371943129, 
0.415413385, 0.460121838, 0.505624157, 0.551468118, 0.597198104, 0.64235963, 
0.686503859, 0.729192067, 0.77, 0.808522089, 0.844375485, 0.877203861, 0.906680953, 
0.932513806, 0.954445679, 0.972258606, 0.985775552, 0.99486218, 0.999428184, 
0.999428184, 0.99486218, 0.985775552, 0.972258606, 0.954445679, 0.932513806, 
0.906680953, 0.877203861, 0.844375485, 0.808522089, 0.77, 0.729192067, 0.686503859, 
0.64235963, 0.597198104, 0.551468118, 0.505624157, 0.460121838, 0.415413385, 
0.371943129, 0.330143098, 0.290428719, 0.253194691, 0.218811064, 0.187619556, 
0.159930164, 0.136018076, 0.116120943, 0.100436509, 0.089120656, 0.082285843, 0.080.08, 
0.082285843, 0.089120656, 0.100436509, 0.116120943, 0.136018076, 0.159930164, 
0.187619556, 0.218811064, 0.253194691, 0.290428719, 0.330143098, 0.371943129, 
0.415413385, 0.460121838, 0.505624157, 0.551468118, 0.597198104, 0.64235963, 
0.686503859, 0.729192067, 0.77, 0.808522089, 0.844375485, 0.877203861, 0.906680953, 
0.932513806, 0.954445679, 0.972258606, 0.985775552, 0.99486218, 0.999428184, 
0.999428184, 0.99486218, 0.985775552, 0.972258606, 0.954445679, 0.932513806, 
0.906680953, 0.877203861, 0.844375485, 0.808522089, 0.77, 0.729192067, 0.686503859, 
0.64235963, 0.597198104, 0.551468118, 0.505624157, 0.460121838, 0.415413385, 
0.371943129, 0.330143098, 0.290428719, 0.253194691, 0.218811064, 0.187619556, 
0.159930164, 0.136018076, 0.116120943, 0.100436509, 0.089120656, 0.082285843, 0.08

Nhìn như thế này

nhập mô tả hình ảnh ở đây

Sản phẩm của họ (Nó chỉ là một sản phẩm đơn giản?)

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.354380777, 0.394728179, 0.305344425, 
0.420455691, 0.53524537, 0.446861871, 0.464205711, 0.676996154, 0.691246868, 
0.537313441, 0.646518073, 0.849781485, 0.727902068, 0.589595493, 0.77723281, 
0.851346054, 0.63004965, 0.692901245, 0.953486318, 0.508965209, -0.506639943, 
-0.940461272, -0.677158316, -0.610025441, -0.816544018, -0.738336608, -0.554624971, 
-0.67788196, -0.783246782, -0.589570546, -0.484593685, -0.616290445, -0.596379223, 
-0.403818226, -0.383632569, -0.453171212, -0.350810571, -0.250866497, -0.319081647, 
-0.281638415, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

Trông giống như:

nhập mô tả hình ảnh ở đây

Đại diện miền tần số

1.01978454171002, -1.04956742046721-14.885596686908i, 
0.729587297164687+12.4883097743251i, -0.393281811348907-4.24261013057826i, 
0.761581725234628+3.2398820477072i, -0.876737136684714-3.79393194973719i, 
0.480276094694696+1.88418789653125i, -0.735142602781246-1.8175563772351i, 
1.02811278581892+2.5331069394699i, -0.584707361656586-1.41705783059227i, 
0.642189640425863+1.09157435002371i, -1.08027274688044-1.77950446999262i, 
0.690373934734768+1.16057125940753i, -0.45786262480057-0.586349217392973i, 
0.837117486838485+0.985681387258948i, -0.684335876271999-0.810862267851556i, 
0.930190039748881+0.842491953501215i, -2.11497450796919-1.82531206712061i, 
1.77660184883125+1.59539043421572i, -8.20687157856373E-003-0.123202767234891i, 
-0.280149317662962-0.244195928734504i, -0.313777442633104-0.174757927010731i, 
-5.83069102281942E-002+1.54514819958589E-002i, 0.211135948552966+0.12606544182717i, 
0.227409826380236+7.86489707052085E-002i, 2.49029866186928E-003-3.26908578232317E-002i, 
-0.204885728671642-7.60371335974082E-002i, -0.174609549526536-2.58285031988847E-002i, 
4.55943100777029E-002+3.62216126377679E-002i, 0.205437067084294+3.66474457853982E-002i, 
0.130866115437055-7.39089659931302E-003i, -8.90307098969982E-002-2.75195665163235E-
002i, -0.206016142964952, -8.90307098969848E-002+2.75195665163199E-002i, 
0.130866115437044+7.39089659931835E-003i, 0.205437067084297-3.66474457854036E-002i, 
4.55943100777004E-002-3.62216126377661E-002i, -0.174609549526531+2.58285031988801E-
002i, -0.204885728671643+7.60371335974132E-002i, 2.49029866187001E-
003+3.26908578232264E-002i, 0.227409826380234-7.86489707052067E-002i, 0.21113594855297-
0.126065441827174i, -5.83069102281978E-002-1.54514819958551E-002i, 
-0.313777442633101+0.174757927010727i, -0.280149317662962+0.244195928734507i, 
-8.20687157856043E-003+0.123202767234886i, 1.77660184883125-1.59539043421572i, 
-2.11497450796919+1.82531206712061i, 0.930190039748879-0.842491953501215i, 
-0.684335876271989+0.810862267851559i, 0.837117486838478-0.985681387258952i, 
-0.457862624800567+0.586349217392971i, 0.690373934734765-1.16057125940753i, 
-1.08027274688043+1.77950446999263i, 0.642189640425861-1.09157435002371i, 
-0.584707361656583+1.41705783059227i, 1.02811278581891-2.5331069394699i, 
-0.735142602781236+1.81755637723511i, 0.480276094694689-1.88418789653125i, 
-0.876737136684699+3.79393194973719i, 0.76158172523462-3.2398820477072i, 
-0.393281811348889+4.24261013057827i, 0.729587297164646-12.4883097743252i, 
-1.04956742046715+14.885596686908i

Nhìn như thế này:

nhập mô tả hình ảnh ở đây

Là những kết quả hợp lệ? Bởi vì tôi dường như vẫn chưa nhận được bất cứ nơi nào!


Tôi đã thực hiện thêm hai thí nghiệm và dường như rất gần với kết quả dự định, nhưng đó là giải pháp mang lại cảm giác hack cho tôi.

Thí nghiệm 5

3rd5th7th9th11th

0, 0.853079823, 0.857877516, 0.603896038, 0.762429734, 0.896260999, 0.695656841, 
0.676188057, 0.928419527, 0.897723205, 0.664562475, 0.765676034, 0.968738879, 
0.802820512, 0.632264626, 0.814329015, 0.875637458, 0.639141079, 0.696479632, 
0.954031849, 0.50925641, -0.50925641, -0.954031849, -0.696479632, -0.639141079, 
-0.875637458, -0.814329015, -0.632264626, -0.802820512, -0.968738879, -0.765676034, 
-0.664562475, -0.897723205, -0.928419527, -0.676188057, -0.695656841, -0.896260999, 
-0.762429734, -0.603896038, -0.857877516, -0.853079823.

Tôi đã thực hiện một phép nội suy tuyến tính và lấy được 64 mẫu từ cùng. Họ trông giống như sau:

nhập mô tả hình ảnh ở đây

Biểu diễn miền tần số so với đầu ra lý tưởng mong muốn (Thử nghiệm đầu tiên) như sau:

nhập mô tả hình ảnh ở đây

Tôi đã loại bỏ nửa sau của không gian mẫu khi các thành phần gập lại sau giới hạn Nyquist. Có một chút suy giảm ở tần số quan tâm, nhưng một tầng nhiễu được thêm vào trên toàn phổ. Giải thích?


Thí nghiệm 6

Giống như Thí nghiệm 5 , nhưng 32 mẫu nội suy.

nhập mô tả hình ảnh ở đây

So sánh miền tần số:

nhập mô tả hình ảnh ở đây

Các tỷ lệ là chính xác nhưng cường độ giảm một nửa! Tại sao?


Vì vậy, tôi có thể suy luận và tôi có thể sai (tôi hy vọng là tôi), rằng nếu số lượng mẫu trong một giai đoạn dạng sóng hoàn chỉnh không phải là lũy thừa của 2, thì FFT tương tự không tiết lộ bất cứ điều gì nếu không có một hoạt động nào đó , điều đó làm tôi khó hiểu vào lúc này.

Vì tôi có rất ít quyền kiểm soát tần suất lấy mẫu, các tùy chọn mở cho tôi là gì để lấy lại các giá trị mà tôi đã chèn trong miền thời gian?


Thay vào đó sau đó đăng một danh sách lớn các số, bạn có thể đăng một biểu đồ của đầu ra DFT không? Thật khó để có được một ý tưởng sơ bộ về đầu ra chỉ là một danh sách lớn các con số.
Tên giả

Bạn có muốn một biểu đồ về độ lớn (Giá trị tuyệt đối) không?

Bây giờ có ổn không?

Tôi nghĩ rằng cửa sổ không hoạt động tốt chỉ trong một khoảng thời gian, giống như DFT hơn 1 thời gian mà không có cửa sổ. Không có dấu vết của tín hiệu ban đầu của bạn.

1
Tôi không chắc chắn những gì bạn nhận được với tiền thưởng. Tôi chỉ thấy một đống lớn các mảnh đất với một số bình luận rải rác và những câu hỏi mơ hồ. Hiểu được sự tinh tế của DFT và cửa sổ sẽ yêu cầu ít nhất một số nghiên cứu lý thuyết về DSP. Tôi muốn giới thiệu cuốn sách giới thiệu của Lyons . Thứ hai, câu hỏi cụ thể của bạn về việc thực hiện cửa sổ là gì? Đó là một kỹ thuật đơn giản và bạn sẽ hiểu rõ nhất cách triển khai nó trong hệ thống bị ràng buộc của mình.
Jason R

Câu trả lời:


12

Chào mừng bạn đến với cửa sổ. Không có gì để làm với William G.

Cách chữa đơn giản nhất hoạt động bằng cách vũ phu chôn vùi các lỗi trong tiếng ồn bằng cách sử dụng tính trung bình là lấy mẫu một số lượng lớn các chu kỳ để các điều kiện biên không chiếm ưu thế.

Tôi đã không nhìn vào kết quả số của bạn, nhưng:

Nhìn vào đồ thị thứ hai và thứ ba của bạn.
Các dạng sóng mà bạn hiển thị là các dạng sóng đang được phân tích.
Ví dụ đầu tiên có 2 nửa chu kỳ dương và một chu kỳ âm.
Tôi hy vọng nó sẽ rất mạnh trong bản hòa âm thứ 3 và một cách hợp lý vì vậy trong các bản hòa âm lẻ khác và có lẽ với những bản hòa âm thấp hơn nhiều. Đó là một dự đoán trực quan.
Dù kết quả là gì, biến đổi là (được thực hiện đúng) mô tả những gì nó nhìn thấy và những gì bạn nhìn thấy.

Tôi hy vọng rằng ví dụ thứ hai sẽ vô cùng khó để thể hiện tốt và sẽ cần một số lượng lớn các thành phần tần số cao. Đó là 1/3 + ve, 1/3 -ve và 1/3 zero. Thật khó để nói làm thế nào bạn dễ dàng có được đầu ra bên phải hoàn toàn bằng không mà không có một số lượng lớn các điều khoản tần số cao gần bằng nhau về pha ngược nhau triệt tiêu lẫn nhau.

VÌ THẾ

DFT hoặc FFT cho biết những gì nó nhìn thấy. Bạn cần cung cấp cho nó dạng sóng tích hợp của tín hiệu quan tâm hoặc tính đến các điểm cuối đặc biệt. Có một toàn bộ nghệ thuật dành riêng cho nhiệm vụ sau. Các thuật ngữ như cửa sổ, cosin nâng cao, cửa sổ hamming (và nhiều hơn nữa) sẽ bắt đầu cuộc hành trình của bạn.

Wikipedia - cửa sổ Cooley Hann Lanczos Hamming Blackman Kaiser Nutttall và nhiều người bạn :-)

Có lẽ hữu ích

Dụng cụ quốc gia và một lần nữa ở đây

Phân tích phổ DFT


Một phần ba của dạng sóng thứ ba đã được đặt thành không bắt buộc - trong excel ở đây và trong phần sụn trong khi thực hiện.

5
Việc buộc một phần tín hiệu về 0 sẽ chỉ hiển thị cửa sổ dữ liệu với hình chữ nhật ngắn hơn, điều này sẽ chỉ xác định kết quả với hàm Sinc rộng hơn.
hotpaw2

@VaibhavGarg - Số 0 nằm trong bảng tính và trên biểu đồ của bạn. Vì vậy, tôi cho rằng họ đang ở trong phân tích của bạn. Nếu vậy, các ý kiến ​​chung áp dụng. Nếu không thì bạn cần thay đổi những gì bạn thể hiện.

@RussellMcMahon Yup- Tôi đồng ý.

Cửa sổ một số lượng thời gian nguyên sắp xếp các giá trị null của khoảng cách với khoảng cách hài, điều này ngăn chặn sự rò rỉ giữa các sóng hài khi phổ cửa sổ được tích hợp. Đây là DFT 1024 điểm (được nội suy với phần đệm bằng 0) cho các thử nghiệm 2 & 3 (tức là cửa sổ hình chữ nhật 64 điểm so với cửa sổ hình chữ nhật 41 điểm). Các giá trị lý tưởng được vẽ như các chấm màu xanh. Thí nghiệm 2 cho thấy rò rỉ quang phổ (đặc biệt là ở các hài hòa chẵn nên bằng 0), nhưng thí nghiệm 3 là chính xác ở sóng hài.
Eryk CN

7

Các kết quả FFT thực sự tiết lộ mọi thứ về tần số được tiêm ban đầu. Nhưng do các tần số được tiêm không chính xác theo định kỳ về độ dài khẩu độ FFT, nên các tần số đã được tích hợp thành các dạng sóng Sinc do cửa sổ không liên quan đến định kỳ này và sau đó được ghép lại. Để lấy lại tần số ban đầu, bạn có thể cần phải giải mã, nội suy và bán lại dựa trên độ dài của FFT.


Bạn có thể vui lòng minh họa 3 bước? Tôi có thể gửi cho bạn tệp excel với các mẫu ban đầu để chơi nếu bạn muốn.

6

Đây không phải là một câu trả lời hoàn chỉnh bằng bất kỳ phương tiện nào và tôi không hy vọng nó sẽ được chấp nhận, nhưng tôi cũng nghĩ rằng có giá trị giáo dục quan trọng trong phản hồi này.

Vì vậy, tôi có thể suy luận và tôi có thể sai (tôi hy vọng là tôi), rằng nếu số lượng mẫu trong một giai đoạn dạng sóng hoàn chỉnh không phải là lũy thừa của 2, thì FFT tương tự không tiết lộ bất cứ điều gì nếu không có một hoạt động nào đó , điều đó làm tôi khó hiểu vào lúc này.

Bạn chủ yếu là đúng. FFT tận dụng tính đối xứng của các mẫu tần số dọc theo vòng tròn đơn vị trong mặt phẳng z:

Vòng tròn đơn vị chung

Nếu số lượng mẫu của bạn là lũy thừa bằng 2, như được hiển thị ở trên, bạn có thể thấy sự đối xứng qua cả trục thực và trục ảo. Về cơ bản những gì FFT làm là sử dụng tính đối xứng này để thu gọn các mẫu xuống còn 1 góc phần tư (hoặc ít hơn? Không chắc chắn các chi tiết của tính đối xứng này) của vòng tròn đơn vị. Điều này có nghĩa là FFT chỉ phải thực hiện một số lượng nhỏ tính toán, liên quan đến toàn bộ dải tần số.

Những gì bạn có thể làm với phần đệm bằng 0 là tăng độ phân giải của FFT bằng cách thêm số không để tạo ra công suất cao hơn cho 2 mẫu. Sự đối xứng vẫn còn đó, giờ chỉ còn nhiều mẫu được đóng gói trong vòng tròn đơn vị.

Vì vậy, nếu bạn không có sức mạnh bằng 2, FFT sẽ không mạnh mẽ hơn đối với bạn và bạn có thể chạy theo bí danh trong đầu ra của mình.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.