คำถามติดแท็ก lowpass-filter

ตัวกรองความถี่ต่ำคือตัวกรองอิเล็กทรอนิกส์ที่ส่งสัญญาณความถี่ต่ำ แต่ลดทอนสัญญาณที่มีความถี่สูงกว่าความถี่คัตออฟ

1
ตัวกรองความถี่ต่ำและ FFT สำหรับผู้เริ่มต้นด้วย Python
ฉันใหม่กับการประมวลผลสัญญาณและโดยเฉพาะอย่างยิ่งกับ FFT ดังนั้นฉันไม่แน่ใจว่าฉันกำลังทำสิ่งที่ถูกต้องที่นี่และฉันสับสนเล็กน้อยกับผลลัพธ์ ฉันมีฟังก์ชั่นจริงที่ไม่ต่อเนื่อง (ข้อมูลการวัด) และต้องการตั้งค่าตัวกรองความถี่ต่ำผ่านในนั้น เครื่องมือที่เลือกคือ Python พร้อมแพ็คเกจ numpy ฉันทำตามขั้นตอนนี้: คำนวณค่า fft ของฟังก์ชั่นของฉัน ตัดความถี่สูง ดำเนินการ fft ผกผัน นี่คือรหัสที่ฉันใช้: import numpy as np sampling_length = 15.0*60.0 # measured every 15 minutes Fs = 1.0/sampling_length ls = range(len(data)) # data contains the function freq = np.fft.fftfreq(len(data), d = sampling_length) fft = …

5
วิธีเขียนตัวกรอง lowpass สำหรับสัญญาณตัวอย่างใน Python
ฉันมีสัญญาณที่สุ่มตัวอย่างแต่ละ 1 ns (1e-9 วินาที) และมีสมมุติ 1e4 คะแนน ฉันต้องการกรองความถี่สูงจากสัญญาณนี้ สมมติว่าฉันต้องกรองความถี่ที่สูงกว่า 10 MHz ฉันต้องการที่สำหรับความถี่ต่ำกว่าสัญญาณความถี่ cutoff จะถูกส่งผ่านไม่เปลี่ยนแปลง มันหมายถึงการเพิ่มขึ้นของตัวกรองจะเป็น 1 สำหรับความถี่ที่ต่ำกว่าความถี่การตัด ฉันต้องการระบุลำดับตัวกรอง ฉันหมายถึงตัวกรองคำสั่งแรกมีความชัน 20 เดซิเบล / ทศวรรษ (กำลังม้วนออก) หลังจากความถี่ตัดตัวกรองลำดับที่สองมีความลาดชัน 40 เดซิเบล / เด ธ หลังจากความถี่ตัดออกและอื่น ๆ รหัสประสิทธิภาพสูงเป็นสิ่งสำคัญ

4
การตีความทางกายภาพของตัวกรอง Lowpass / Highpass คืออะไร
ในบริบทการประมวลผลภาพ / สัญญาณที่เราได้เห็น / เรารู้ว่าถ้ามีตัวอย่าง 4 ตัวอย่างและถ้าเราหาค่าเฉลี่ยของ 4 ตัวอย่างเหล่านั้นเราบอกว่าตัวอย่างผลลัพธ์คือตัวอย่างผลลัพธ์กรองความถี่ต่ำที่ผ่านการกรอง สิ่งนี้มีความเกี่ยวข้องมากในบริบทการประมวลผลภาพ ตอนนี้การดำเนินการซึ่งหมายถึงการกรองผ่านสูงคืออะไรค้นหาตัวอย่างสูงสุด 4 ตัวอย่างและนำไปวางไว้เป็นตัวอย่างผลลัพธ์

2
ฉันจะกรอง lowpass ด้วยการลดเฉพาะข้อมูลสูงสุดได้อย่างไร
ฉันมีภาพ 2 มิติซึ่งฉันต้องการกรองสัญญาณต่ำด้วยข้อ จำกัด / ตัวชี้วัดคุณภาพเหล่านี้: ฉันไม่สามารถ "เพิ่ม" แสงให้กับภาพดังนั้นแต่ละพิกเซลในผลลัพธ์ควรเป็น <= พิกเซลที่สอดคล้องกันในอินพุต ความถี่ cutoff ต่ำสุดควรเป็นพารามิเตอร์สำหรับการทดสอบ การใช้ตัวกรองนี้ซ้ำ ๆ ไม่ควรเปลี่ยนผลลัพธ์อย่างมีนัยสำคัญ เวลาที่ใช้ในการเรียกใช้อัลกอริธึม (5 นาทีสำหรับภาพ 5MPix นั้นสมเหตุสมผล) ลดปริมาณแสงที่ถูกกรองให้น้อยที่สุด ด้านล่างนี้เป็นวิธีที่ฉันลองใช้พร้อมกับข้อบกพร่อง: ตัวกรองแบบเกาส์เหมือนปกติจากนั้นดึงผลลัพธ์ลงมาเพื่อให้สอดคล้องกับข้อ จำกัด 1. สิ่งนี้สอดคล้องกับ 3 จุดแรกได้เป็นอย่างดี แต่ลดแสงได้มากกว่าที่จำเป็นมาก ปรับพาราโบลา "ขึ้น" ผ่านจุด "ต่ำ" และพาราโบลา "ลดลง" ระหว่างพวกเขาให้เรียบ วิธีนี้ใช้งานได้ดีใน 1D แต่ใช้ในแนวนอนก่อนแล้วจึงสร้างผลลัพธ์ที่ไม่ดีในแบบ 2D ใช้เวลานานมาก แต่ไม่นานเกินไปสำหรับใบสมัครของฉัน อย่างไรก็ตามการใช้ตัวกรองนี้ซ้ำแล้วซ้ำอีกจะเปลี่ยนผลลัพธ์อย่างมาก หากอินพุต (1D) เป็นพาราโบลา "ลง" ที่สมบูรณ์แบบ …

2
สัญญาณสูงผ่านเหมือนสัญญาณลบสัญญาณต่ำหรือไม่?
คำถามของฉันคือถ้าฉันต้องการ high-pass สัญญาณมันเหมือนกับสัญญาณ low-pass และลบมันออกจากสัญญาณหรือไม่? ในทางทฤษฎีมันเหมือนกันหรือไม่? มันเหมือนจริงหรือไม่? ฉันค้นหาแล้ว (ทั้งบน google และ dsp.stackexchange) และฉันพบคำตอบที่ขัดแย้งกัน ฉันเล่นกับสัญญาณแล้วนี่คือผลลัพธ์ ฉันไม่สามารถเข้าใจได้ นี่คือสัญญาณที่มีความถี่การสุ่มตัวอย่างทุกๆสี่วินาที ฉันออกแบบตัวกรองสัญญาณความถี่วิทยุต่ำด้วยคลื่นความถี่ช่วงเปลี่ยนจาก 0.8 mHz ถึง 1 mHz และกรองสัญญาณ ฉันยังออกแบบตัวกรอง high-pass ที่มีช่วงการเปลี่ยนภาพเดียวกันและกรองสัญญาณ นี่คือผลลัพธ์ ภาพแรกนี้แสดงสัญญาณต้นฉบับเป็นสีดำและสัญญาณต่ำผ่านเป็นสีน้ำเงิน พวกเขาเกือบจะอยู่ด้านบนของกันและกัน แต่ไม่มาก เส้นโค้งสีแดงเป็นสัญญาณลบสัญญาณสูงผ่านซึ่งอยู่ด้านบนของสัญญาณ ภาพที่สองนี้เป็นเพียงภาพแรกที่ซูมเข้าเพื่อแสดงสิ่งที่เกิดขึ้น ที่นี่เราเห็นว่าชัดเจนทั้งสองไม่เหมือนกัน คำถามของฉันคือทำไม มันเป็นเรื่องเกี่ยวกับวิธีที่ฉันใช้ตัวกรองทั้งสองหรือมันเป็นสิ่งที่ในทางทฤษฎีเป็นอิสระจากการนำไปใช้ ฉันไม่รู้มากเกี่ยวกับการออกแบบตัวกรอง แต่ฉันรู้ว่ามันเป็นวิธีที่ใช้งานง่าย นี่คือรหัส MATLAB เต็มรูปแบบในการทำซ้ำทั้งหมดนี้ ฉันใช้คำสั่ง filtfilt เพื่อกำจัดความล่าช้าเฟส แต่สิ่งอื่นที่ชี้ให้เห็นที่นี่คือตัวกรองไม่ได้ถูกทำให้เป็นมาตรฐาน เมื่อฉันรวม (Hd.Numerator) ฉันได้รับ 0.9930 สำหรับ low-pass …

2
ความแตกต่างระหว่างการกรองและการถดถอยพหุนามเป็นไปอย่างราบรื่นหรือไม่
อะไรคือความแตกต่างระหว่างการกรอง low-pass แบบคลาสสิก (กับ IIR หรือ FIR) และ "การปรับให้เรียบ" โดยการถดถอยพหุนามระดับ Nth ในระดับท้องถิ่นและ / หรือการแก้ไข (ในกรณีของการสุ่มตัวอย่าง) โดยเฉพาะในกรณีที่ N มากกว่า 1 แต่น้อยกว่าจำนวนจุดที่ใช้ในการถดถอย

1
ทำไม
ฉันพบว่าตัวกรอง lowpass แบบเรียบง่าย แต่ไม่ดี: y(n)=x(n)+x(n−1)y(n)=x(n)+x(n−1)y(n) = x(n) + x(n-1) อย่างไรก็ตามฉันไม่เข้าใจว่าทำไมมันถึงเป็นตัวกรองสัญญาณความถี่ต่ำ ความถี่คัตออฟของมันคืออะไร?

3
เอกสารเกี่ยวกับตัวกรองโดยทั่วไป
ฉันโพสต์คำถามนี้ไว้ใน StackOverflow แล้ว ฉันได้รับคำแนะนำให้ไปหาคำตอบที่ดีกว่าที่นี่ เพื่อให้คำถามกระชับขึ้นฉันสนใจที่จะแนะนำตัวกรองดิจิทัลทรัพยากรใด ๆ ก็ดี แต่ก่อนอื่นฉันจะพอใจถ้ามีคนชี้ให้ฉันไปยังแหล่งข้อมูลที่อธิบายตัวกรองนี้ (ใช้ใน Android): http://gitorious.org/rowboat/frameworks-base/blobs/671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8/services/sensorservice/SecondOrderLowPassFilter.cpp สิ่งที่ฉันสนใจคือวิธีเลือกพารามิเตอร์ของตัวกรอง ในขณะที่ฉันสามารถคัดลอกได้โดยไม่ต้องคิดฉันคิดว่าฉันควรเข้าใจแนวคิดพื้นฐาน / ความคิดเบื้องหลังก่อนที่จะใช้ ขอบคุณ Iulian

3
ตัวกรองเชิงเส้น Savitzky – Golay กับ IIR หรือตัวกรองเชิงเส้น FIR
ตัวกรอง IIR / FIR ดั้งเดิม (lowpass เพื่อกำจัดการแกว่งความถี่สูง) เช่นค่าเฉลี่ยเคลื่อนที่ หรือตัวกรองSavitzky-Golay ทุกคนสามารถเป็นประโยชน์ในการทำให้สัญญาณเรียบขึ้นเช่นสัญญาณซองจดหมาย: ตัวกรอง Savitzky-Golay จะน่าสนใจมากกว่าแอพพลิเคชั่น lowpass แบบคลาสสิกอย่างไร อะไรทำให้แตกต่างจากตัวกรองมาตรฐานและมันเพิ่มอะไรเมื่อเปรียบเทียบกับตัวกรองมาตรฐาน มันปรับตัวเองเข้ากับข้อมูลอินพุตหรือไม่ มันจะดีกว่าสำหรับการรักษาชั่วคราว? คุณเคยอยู่ในสถานการณ์ทางวิศวกรรมมาแล้ววันหนึ่งเมื่อคุณตัดสินใจว่า"ลองใช้ตัวกรอง SG แทนค่าเฉลี่ยเคลื่อนที่หรือ lowpass FIR ตัวอื่นดีกว่าเพราะสิ่งนี้กับสิ่งนี้และสิ่งนี้ ... " ? ถ้าอย่างนั้นคำถามนี้เหมาะสำหรับคุณ!

4
ค่าเฉลี่ยเคลื่อนที่ควรจัดการกับจุดข้อมูลที่ขาดหายไปอย่างไร
ฉันกำลังเขียนโปรแกรมที่เฉลี่ยน้ำหนักของผู้ใช้ในแต่ละวัน ฉันวางแผนที่จะใช้ค่าเฉลี่ยเคลื่อนที่ 5 จุด (วันปัจจุบันสองก่อนหน้าและสองหลัง) บางครั้งจุดข้อมูลหายไป 1-2 วัน ปกติแล้วกรณีเหล่านี้มีการจัดการอย่างไร (ถ้ามีตัวกรอง low-pass ที่ดีกว่าที่ฉันสามารถใช้ได้ฉันชอบคำแนะนำ)

2
สิ่งนี้เป็นสิ่งที่ทำในเอาท์พุทตัวกรอง LP-turn-HP ของฉัน
ฉันพยายาม HP กรองสัญญาณโดย LP- กรองมันและลบผลลัพธ์จากตัวกรองเดิม เพื่อให้ได้สัญญาณกรอง LP- ฉันย้อนกลับไปข้างหน้ากรองโดยใช้ตัวกรอง Butterworth ลำดับที่สามสำหรับสัญญาณ 16,000 ตัวอย่าง ความถี่ตัดเป็น 0.5 Hz @ 250 Hz ไม่มีการใช้หน้าต่าง ในตัวอย่างแรก 85% หรือมากกว่านั้นผลลัพธ์ของวิธีนี้ดูเหมือนจะซ้อนทับกันอย่างสมบูรณ์กับสัญญาณที่กรองโดย HP อย่างไรก็ตามในตอนท้ายของการส่งออกมีปรากฏการณ์ซินที่เหนือชั้น อะไรเป็นสาเหตุ ฉันจะเปลี่ยนอะไรเพื่อทำให้วิธีนี้เป็นไปได้ นี่คือสัญญาณทั้งสองที่ซ้อนกัน สีน้ำเงินถูกกรองโดย HP และสีแดงที่ได้จากการลบ นี่คือความแตกต่างที่แน่นอนต่อตัวอย่าง พวกเขาจะไม่เท่ากันอย่างแน่นอน; ความแตกต่างขั้นต่ำคือ 8e-12 87% ของค่าต่ำกว่า 0.01 (หากมีวิธีที่ดีกว่าในการรับตัวกรอง HP จากของตัวกรอง LP ฉันยินดีที่จะเรียนรู้)H(z)H(z)H(z)

3
กรองข้อความจากสัญญาณเสียงที่มีเสียงดัง
ฉันพยายามถอดรหัสข้อความที่ซ่อนอยู่ในไฟล์เสียงที่มีเสียงดังมาก (.wav) (ฉันคิดว่ามันเป็นเสียงสีขาวพร้อมเสียงพึมพำเพิ่มเติม) ข้อความที่เป็นเลขหกหลัก ฉันไม่มีรายละเอียดเพิ่มเติมเกี่ยวกับเสียงรบกวน ฉันพยายามใช้ตัวกรอง low-pass ด้วยความหวังว่าการกำจัดความถี่ที่สูงกว่าส่วนใหญ่จะทำให้ฉันได้ยินตัวเลข แต่ดูเหมือนว่าฉันจะไม่สามารถกำจัดเสียงพึมพำต่ำพอที่จะได้ยินเสียงได้ดีพอ ความพยายามของฉันเป็นดังนี้ (ฟังก์ชั่นการจ้างงานfreq_space_low_pass_filterรวมอยู่ท้าย): [data, SampleRate, NbitsPerSample]=wavread('noisy_msg6.wav'); y=data(:,1); % we will work only with one channel in this demo N=length(y); %number of sample points t=( (1:N)*1/SampleRate ).'; % time spacing is 1/SampleRate and we want column vector Y=fft(y); spectrum_freq=fourier_frequencies(SampleRate, N); Freq3db=100; [spectrum_filtered,g_vs_freq]=freq_space_low_pass_filter(Y, SampleRate, …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.