นี่คือรหัสของฉันสำหรับสัญญาณสองโทนซึ่งฉันใช้แถบหยุดเพื่อลบเสียงที่สูงขึ้นแล้วพล็อตก่อน (เป็นสีน้ำเงิน) และหลัง (เป็นสีแดง) ในโดเมนความถี่หลังจากสังสัยสัญญาณของฉันด้วยสัมประสิทธิ์ตัวกรอง .
หากคุณใส่รหัสนี้ใน Matlab คุณจะเห็นได้อย่างชัดเจนว่าตัวกรองความถี่สูงได้ถูกลบออกไปเรียบร้อยแล้ว แต่ด้วยเหตุผลบางอย่างความกว้างของความถี่ต่ำได้ถูกตัดลงครึ่งหนึ่งและยิ่งฉันเพิ่ม # ของสัมประสิทธิ์ตัวกรองมากขึ้น ยิ่งทำให้เส้นโค้งทั้งหมดของฉันแบนลงทำไมจึงเกิดสิ่งนี้ขึ้น และฉันจะป้องกันได้อย่างไรเพื่อที่วงหยุดจะไม่เผยแพร่ออกไปด้านนอก? นี่คือภาพและรหัส:
fSampling = 8000; tSampling = 1 / f การสุ่มตัวอย่าง t = 0: t การสุ่มตัวอย่าง: 0.005; F0 = 1,000; F1 = 3000; xt = sin (2 * pi * F0 * t) + sin (2 * pi * F1 * t); ht = fir1 (40, .25, 'หยุด'); yt = conv (xt, ht); fAxis = -4000: 125: 4000-125; xF = fft (xt, 64); MagXF = fftshift (abs (xF)); พล็อต (fAxis, MagXF); ยึดมั่นใน yF = fft (yt, 64); MagYF = fftshift (abs (yF)); พล็อต (fAxis, MagYF 'R')