Hình elip thứ 12 đến hình elip bậc 4
(Tôi không đủ điều kiện nhận tiền thưởng.) Tôi đã cố gắng tạo ra một ví dụ cho câu hỏi 3 trong Octave nhưng thật ngạc nhiên khi tôi không thể. Nếu câu trả lời cho câu hỏi 3 là có, thì theo Hình 5. của câu hỏi, các cực và số 0 cụ thể phải được chia sẻ giữa bộ lọc elip của bậc 4 và bộ lọc elip của lệnh 12, ở đây hiển thị rõ ràng:
Hình 1. Ba Lan và các số không có khả năng được chia sẻ giữa các bộ lọc elip có thứ tự và , màu xanh lam và được đánh số theo thứ tự tăng dần tham số của một đường cong tham số .
N=12N=4αf(α)
Chúng ta hãy thiết kế một bộ lọc elip 12 thứ tự với một số tham số tùy ý: gợn dải thông 1 dB, gợn dải dừng -90 dB, tần số cắt 0,1234, mặt phẳng s thay vì mặt phẳng z:
pkg load signal;
[b12, a12] = ellip (12, 0.1, 90, 0.1234, "s");
ra12 = roots(a12);
rb12 = roots(b12);
freqs(b12, a12, [0:10000]/10000);
Hình 2. Đáp ứng tần số cường độ của bộ lọc elip bậc 12 được thiết kế bằng cách sử dụng ellip
.
scatter(vertcat(real(ra12), real(rb12)), vertcat(imag(ra12), imag(rb12)));
Hình 3. Ba Lan (màu đỏ) và số không (màu xanh) của bộ lọc hình elip 12 được thiết kế bằng cách sử dụng ellip
. Trục ngang: phần thực, trục dọc: phần ảo.
Chúng ta hãy xây dựng bộ lọc thứ tự 4 bằng cách sử dụng lại các cực và số 0 của bộ lọc thứ tự 12, theo Hình 1. Trong trường hợp cụ thể, sắp xếp các cực và số không theo phần ảo là đủ:
[~, ira12] = sort(imag(ra12));
[~, irb12] = sort(imag(rb12));
ra4 = [ra12(ira12)(2), ra12(ira12)(5), ra12(ira12)(8), ra12(ira12)(11)];
rb4 = [rb12(irb12)(2), rb12(irb12)(5), rb12(irb12)(8), rb12(irb12)(11)];
freqs(poly(rb4), poly(ra4), [0:10000]/10000);
Hình 4. Đáp ứng tần số cường độ của bộ lọc bậc 4 có tất cả các cực và các số 0 giống hệt với các bộ lọc thứ tự thứ 12, trên mỗi hình 1. Phóng to đưa ra một đặc tính của bộ lọc: phương trình băng tần vượt qua 3,14 dB, - Cân bằng dải dừng 27,69 dB, tần số cắt 0,1234.
Theo hiểu biết của tôi, một dải vượt qua đẳng tích và một dải dừng đẳng tích có nhiều gợn sóng như số cực và số không cho phép là điều kiện đủ để nói rằng bộ lọc có dạng elip. Nhưng hãy thử nếu điều này được xác nhận bằng cách thiết kế bộ lọc elip bậc 4 bằng cách ellip
mô tả đặc trưng thu được từ Hình 3 và bằng cách so sánh các cực và số không giữa hai bộ lọc thứ tự 4:
[b4el, a4el] = ellip (4, 3.14, 27.69, 0.1234, "s");
rb4el = roots(b4el);
ra4el = roots(a4el);
scatter(vertcat(real(ra4), real(rb4)), vertcat(imag(ra4), imag(rb4)));
Điều đó chống lại:
scatter(vertcat(real(ra4el), real(rb4el)), vertcat(imag(ra4el), imag(rb4el)), "blue", "x");
Hình 5. So sánh các vị trí cực (màu đỏ) và số không (màu xanh) giữa ellip
bộ lọc thứ tự thứ 4 (chéo) và bộ lọc thứ 4 (vòng tròn) chia sẻ các vị trí cực và không nhất định với bộ lọc thứ tự 12. Trục ngang: phần thực, trục dọc: phần ảo.
Các cực và số không trùng nhau giữa hai bộ lọc đến ba vị trí thập phân, đó là độ chính xác của đặc tính của bộ lọc xuất phát từ bộ lọc thứ tự 12. Kết luận là ít nhất trong trường hợp cụ thể này, cả hai cực và các số 0 của bộ lọc elip bậc 4 và các bộ lọc elip thứ tự 12 đều có thể thu được, ít nhất là đến độ chính xác, bằng cách phân phối đồng đều chúng trên cùng một đường cong tham số . Các bộ lọc không phải là bộ lọc loại Butterworth hoặc Ch Quashev I hoặc II vì cả dải thông và dải dừng đều có gợn sóng.
Thứ tự elip thứ 4 đến thứ 12 elip
Ngược lại, các cực và số không của bộ lọc thứ 12 có thể được xấp xỉ từ một cặp hàm liên tục được trang bị cho các cực và số không của ellip
bộ lọc thứ 4 không?
Nếu chúng ta nhân đôi bốn cực (Hình 5) và lật dấu hiệu của các phần thực của các bản sao, chúng ta sẽ có được một hình bầu dục sắp xếp. Khi chúng ta đi vòng quanh hình bầu dục, các vị trí cực mà chúng ta đi qua đưa ra một chuỗi rời rạc định kỳ. Nó là một ứng cử viên tốt cho phép nội suy giới hạn băng tần định kỳ bằng cách đệm số 0 biến đổi Fourier rời rạc của nó (DFT). Trong số cực kết quả , những cực có phần thực dương bị loại bỏ, giảm một nửa số cực xuống còn . Thay vì các số không, các đối ứng của chúng được nội suy, nhưng nếu không thì phép nội suy được thực hiện theo cách tương tự như với các cực. Chúng tôi bắt đầu với bộ lọc thứ tự thứ 4 được thiết kế giống như trước đó (gần giống với Hình 4):2412ellip
pkg load signal;
[b4el, a4el] = ellip (4, 3.14, 27.69, 0.1234, "s");
rb4el = roots(b4el);
ra4el = roots(a4el);
rb4eli = 1./rb4el;
[~, ira4el] = sort(imag(ra4el));
[~, irb4eli] = sort(imag(rb4eli));
ra4eld = vertcat(ra4el(ira4el), -ra4el(ira4el));
rb4elid = vertcat(rb4eli(irb4eli), -rb4eli(irb4eli));
ra12syn = -interpft(ra4eld, 24)(12:23);
rb12syn = -1./interpft(rb4elid, 24)(12:23);
freqs(poly(rb12syn), poly(ra12syn), [0:10000]/10000);
Hình 6. Đáp ứng tần số cường độ của bộ lọc thứ 12 với các cực và số không được lấy mẫu từ các đường cong khớp với các bộ lọc thứ 4.
Nó không đủ chính xác để mô phỏng phản hồi của Hình 2 là hữu ích. Dải dừng giá khá tốt nhưng dải thông bị nghiêng. Các tần số cạnh dải là gần đúng. Tuy nhiên, điều này cho thấy tiềm năng khi xem xét các đường cong tham số chỉ được mô tả bởi 4 bậc tự do mỗi đường.
Chúng ta hãy xem làm thế nào các cực và số không khớp với các bộ lọc được tạo ra :N=12 ellip
[b12, a12] = ellip (12, 0.1, 90, 0.1234, "s");
ra12 = roots(a12);
rb12 = roots(b12);
scatter(vertcat(real(ra12), real(rb12)), vertcat(imag(ra12), imag(rb12)), "blue", "x");
scatter(vertcat(real(ra12syn), real(rb12syn)), vertcat(imag(ra12syn), imag(rb12syn)));
Hình 7. So sánh các vị trí cực (màu đỏ) và số không (màu xanh) giữa ellip
bộ lọc thứ tự 12 được thiết kế (chéo) và bộ lọc thứ tự 12 (vòng tròn) được lấy từ bộ lọc thứ 4. Trục ngang: phần thực, trục dọc: phần ảo.
Các cực được nội suy là khá ít, nhưng số không được kết hợp tương đối tốt. Một lớn hơn là điểm bắt đầu nên được điều tra.N
Thứ tự elip thứ 6 đến thứ 18 elip
Thực hiện tương tự như trên nhưng bắt đầu từ bậc 6 và nội suy đến bậc 18 cho thấy đáp ứng tần số cường độ có vẻ hoạt động tốt, nhưng vẫn gặp sự cố trong dải thông khi kiểm tra chặt chẽ:
[b6el, a6el] = ellip (6, 0.03, 30, 0.1234, "s");
rb6el = roots(b6el);
ra6el = roots(a6el);
rb6eli = 1./rb6el;
[~, ira6el] = sort(imag(ra6el));
[~, irb6eli] = sort(imag(rb6eli));
ra6eld = vertcat(ra6el(ira6el), -ra6el(ira6el));
rb6elid = vertcat(rb6eli(irb6eli), -rb6eli(irb6eli));
ra18syn = -interpft(ra6eld, 36)(18:35);
rb18syn = -1./interpft(rb6elid, 36)(18:35);
freqs(poly(rb18syn), poly(ra18syn), [0:10000]/10000);
Hình 8. Trên cùng) ellip
Bộ lọc thứ tự thứ 6 , Dưới cùng) Bộ lọc thứ 18 được lấy từ bộ lọc thứ 6. Phóng to, dải thông chỉ có hai cực đại và khoảng 1 dB của gợn. Dải dừng gần như cân bằng với biến thiên 2,5 dB.
Tôi đoán về sự cố ở dải thông qua là phép nội suy giới hạn băng tần không hoạt động đủ tốt với các cực (phần thực của các cực).
Đường cong chính xác cho các bộ lọc elip
Nó chỉ ra rằng các bộ lọc elip mà cung cấp các ví dụ tích cực cho câu hỏi 1 và 2. C. Sidney Burrus, Xử lý tín hiệu số và Thiết kế bộ lọc kỹ thuật số (Bản nháp). OpenStax CNX. Ngày 18 tháng 11 năm 2012 cung cấp cho các số không và các cực của hàm truyền của một bộ lọc hình elip đủ về mặt hình elip JacobiLưu ý rằng Burrus Eq. 3.136 có thể được viết lại cho các số không là:
NNz=NNp=NNNz=NNp=N sn(t,k).sn(t,k)=−sn(−t,k),szi, i=1…N
szi=jksn(K+K(2i+1)/N,k),(1)
Trong đó là một phần tư của cho thực và có thể được xem là một mức độ tự do trong việc tham số hóa bộ lọc. Nó kiểm soát độ rộng băng chuyển tiếp so với độ rộng băng tần. Nhận biết (xem Phương trình 2 của câu hỏi) trong đó là tham số của đường cong tham số:Ksn(t,k)t0≤k≤1(2i+1)/N=2αα
fz(α)=jksn(K+2Kα,k),(2)
Phương trình Burrus. 3.146 cung cấp cho các cực tứ phía trên bên trái bao gồm một cực thực cho lẻ . Nó có thể được viết lại cho tất cả các cực với bất kỳ nào dưới dạng:Nspi, i=1…NN
spi=cn(K+K(2i+1)/N,k)dn(K+K(2i+1)/N,k)sn(ν0,1−k2−−−−−√)×cn(ν0,1−k2−−−−−√)+jsn(K+K(2i+1)/N,k)dn(ν0,1−k2−−−−−√)1−dn2(K+K(2i+1)/N,k)sn2(ν0,1−k2−−−−−√),(3)
trong đó là một trong các hàm elip Jacobi. Một số nguồn có là đối số thứ hai cho tất cả các hàm này và gọi nó là mô đun. Chúng ta có và gọi nó là mô đun. Biến có thể được coi là một trong hai bậc tự do của các đường cong tham số chung đủ và một trong ba bậc tự do của một bộ lọc elip đủ chung. Tại , gợn băng thông sẽ là vô hạn và tại trong đódn(t,k)=1−k2sn2(t,k)−−−−−−−−−−−−√k2k0<ν0<K´(k,ν0)(k,ν0,N)ν0=0ν0=K´K´là khoảng thời gian một phần tư của các hàm elip Jacobi với mô đun , các cực sẽ bằng 0. Nói một cách đầy đủ, tôi có nghĩa là chỉ còn một mức độ tự do còn lại điều khiển tần số cạnh của dải thông và nó sẽ biểu hiện dưới dạng tỷ lệ đồng nhất của cả hai hàm đường cong tham số theo cùng một hệ số. Tập hợp con của các bộ lọc elip chia sẻ và một phần không thể thay đổi , được chuyển đổi thành một tập hợp con khác có kích thước vô hạn theo chiều khi thay đổi mức độ tự do tầm thường.1−k2−−−−−√fp(α), fz(α),Nz/Pz=1N
Bằng cách thay thế tương tự như với các số không, đường cong tham số cho các cực có thể được viết là:
fp(α)=cn(K+2Kα,k)dn(K+2Kα,k)sn(ν0,1−k2−−−−−√)×cn(ν0,1−k2−−−−−√)+jsn(K+2Kα,k)dn(ν0,1−k2−−−−−√)1−dn2(K+2Kα,k)sn2(ν0,1−k2−−−−−√).(4)
Hãy vẽ các hàm và các đường cong trong Octave, cho các giá trị của và ( trong mã) được sao chép từ Burrus Ví dụ 3.4:kν0v0
k = 0.769231;
v0 = 0.6059485; #Maximum is ellipke(1-k^2)
K = 1024; #Resolution of plots
[snv0, cnv0, dnv0] = ellipj(v0, 1-k^2);
dnv0=sqrt(1-(1-k^2)*snv0.^2); # Fix for Octave bug #43344
[sn, cn, dn] = ellipj([0:4*K-1]*ellipke(k^2)/K, k^2);
dn=sqrt(1-k^2*sn.^2); # Fix for Octave bug #43344
a2K = [0:4*K-1];
a2KpK = mod(K + a2K - 1, 4*K)+1;
fza = i./(k*sn(a2KpK));
fpa = (cn(a2KpK).*dn(a2KpK)*snv0*cnv0 + i*sn(a2KpK)*dnv0)./(1-dn(a2KpK).^2*snv0.^2);
plot(a2K/K/2, real(fza), a2K/K/2, imag(fza), a2K/K/2, real(fpa), a2K/K/2, imag(fpa));
ylim([-2,2]);
a = [1/6, 3/6, 5/6];
ai = round(a*2*K)+1;
scatter(vertcat(a, a), vertcat(real(fza(ai)), imag(fza(ai)))); ylim([-2,2]); xlim([0, 2]);
scatter(vertcat(a, a), vertcat(real(fpa(ai)), imag(fpa(ai))), "red", "x"); ylim([-2,2]); xlim([0, 2]);
Hình 9. và cho Burrus Ví dụ 3.4, được phân tích mở rộng đến giai đoạn . Ba cực (chữ thập đỏ) và ba số không (vòng tròn màu xanh, một vô hạn và không hiển thị) của ví dụ được lấy mẫu thống nhất đối với tại và từ các hàm này, trên mỗi biểu thức. 2 câu hỏi. Với tiện ích mở rộng, đối ứng củafz(α)fp(α)α=0…2αα=1/6, α=3/6,α=5/6,Im(fz(α))(không hiển thị) dao động rất nhẹ nhàng, giúp dễ dàng xấp xỉ bằng một chuỗi Fourier bị cắt cụt như trong các phần trước. Các chức năng mở rộng định kỳ khác cũng trơn tru, nhưng không dễ để ước chừng như vậy.
plot(real(fpa)([1:2*K+1]), imag(fpa)([1:2*K+1]), real(fza)([1:2*K+1]), imag(fza)([1:2*K+1]));
xlim([-2, 2]);
ylim([-2, 2]);
scatter(real(fza(ai)), imag(fza(ai))); ylim([-2,2]); xlim([-2, 2]);
scatter(real(fpa(ai)), imag(fpa(ai)), "red", "x"); ylim([-2,2]); xlim([-2, 2]);
Hình 10. Các đường cong tham số cho Burrus Ví dụ 3.4. Trục ngang: phần thực, trục dọc: phần ảo. Khung nhìn này không hiển thị tốc độ của đường cong tham số, do đó ba cực (chữ thập đỏ) và ba số không (vòng tròn màu xanh, một vô hạn và không hiển thị) dường như không được phân bố đồng đều trên các đường cong, ngay cả khi chúng, với liên quan đến tham số của các đường cong tham số.α
Thiết kế bộ lọc elip theo công thức cực và không chính xác do Burrus đưa ra hoàn toàn tương đương với lấy mẫu từ chính xác và , vì vậy các phương pháp là tương đương và có sẵn. Câu hỏi 1 vẫn kết thúc mở. Có thể các loại bộ lọc khác có các tập hợp con vô hạn được xác định bởi và và . Trong các phương pháp xấp xỉ các đường cong tham số elip, những phương pháp không phụ thuộc vào dạng chức năng chính xác có thể được chuyển sang các loại bộ lọc khác, tôi nghĩ rất có thể là những phương pháp tổng quát hóa các bộ lọc elip, chẳng hạn như một số tập hợp con của bộ lọc đẳng tích chung. Đối với họ, các công thức chính xác cho cực và số không có thể là không xác định hoặc không thể tìm thấy.fp(α)fz(α)fp(α)fz(α)Nz/Np
Quay trở lại phương trình. 2, đối với lẻ , chúng ta có một trong các số 0 , sẽ gửi nó đến vô cùng bởi . Không có điều đó xảy ra với các cực (phương trình 4). Tôi đã cập nhật câu hỏi để có các số không như vậy (và cực, trong trường hợp) được bao gồm trong số (hoặc ). Tại , tất cả các số 0 chuyển sang vô cùng theo , có vẻ như sẽ cung cấp cho các bộ lọc loại I .Nα=0.5sn(2K,k)=0NNzNNpk=0fz(α)
Tôi nghĩ rằng câu hỏi 3 đã được giải quyết và câu trả lời là "có". Điều đó, dường như chúng ta có thể bao quát tất cả các trường hợp bộ lọc elip mà không bị xung đột với , với định nghĩa mới về các bộ lọc đó.NNz=NNp