Có một điều như méo phi tuyến tính giới hạn băng tần?


12

Vì vậy, nếu bạn tạo ra một sóng vuông bằng cách chỉ chuyển đổi tín hiệu giữa hai giá trị, tại các ranh giới mẫu, nó sẽ tạo ra một chuỗi sóng hài vô hạn, có biệt danh và tạo ra các âm dưới mức cơ bản của bạn, rất dễ nghe. Giải pháp là Tổng hợp giới hạn băng tần , sử dụng các bước tổng hợp phụ gia hoặc các bước giới hạn băng tần để tạo ra các dạng sóng giống như khi bạn đã giới hạn băng tần sóng vuông lý tưởng trước khi lấy mẫu:

http://flic.kr/p/83JMjT

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

Nhưng tôi chỉ nhận ra rằng nếu bạn áp dụng khuếch đại lớn cho sóng hình sin kỹ thuật số và sau đó cắt nó bằng kỹ thuật số, nó sẽ tạo ra hình dạng sóng vuông tương tự, không có gợn sóng hiện tượng Gibbs. Vì vậy, sau đó nó cũng sản xuất các sản phẩm biến dạng bí danh, phải không? Vì vậy, bất kỳ biến dạng phi tuyến tính trong miền kỹ thuật số tạo ra sóng hài ngoài giới hạn Nyquist sẽ tạo ra các sản phẩm biến dạng bí danh? (Chỉnh sửa: Tôi đã thực hiện một số thử nghiệm và xác nhận rằng phần này là đúng.)

Có một thứ như méo giới hạn băng tần, để mô phỏng (trong miền kỹ thuật số) các tác động của biến dạng (trong miền tương tự) trước khi giới hạn băng tần và lấy mẫu? Nếu vậy, làm thế nào để bạn làm điều đó? Nếu tôi tìm kiếm "biến dạng dải phân cách", tôi sẽ tìm thấy một số tài liệu tham khảo về đa thức Ch Quashev, nhưng tôi không biết cách sử dụng chúng hoặc nếu chúng chỉ hoạt động cho sóng hình sin hoặc là gì:

Công cụ này không cố gắng tạo ra sự biến dạng giới hạn băng tần. Những người quan tâm đến biến dạng giới hạn băng tần nên điều tra việc sử dụng đa thức Ch Quashev để tạo hiệu ứng. Biến dạng tiếp tuyến Hyperbolic

 

"Chebyshev đa thức" - hình thành chức năng với tính chất quan trọng rằng họ là bản chất ban nhạc hạn chế tức là họ không giới thiệu giai điệu phổ giả mạo do chồng chéo, vv sóng Shaper


Tôi không chắc chắn những gì bạn đang hỏi. Nếu bạn thực hiện một thao tác gây ra nội dung tần số bên ngoài vùng Nyquist mà bạn đang hoạt động, thì bạn sẽ thấy răng cưa, bất kể bạn đã tạo nội dung như thế nào. Loại biến dạng tương tự nào bạn đang cố gắng mô phỏng? Một cách tiếp cận có thể là lấy mẫu tín hiệu lên tốc độ mẫu đủ cao trước, sau đó sử dụng vùng Nyquist rộng hơn để thực hiện xử lý tín hiệu của bạn. Sau đó, bạn có thể giảm mẫu trở lại tỷ lệ ban đầu sau khi bạn hoàn thành.
Jason R

@JasonR: Có, để tạo sóng vuông, bạn có thể thực hiện phương pháp giới hạn băng tần thực sự như tổng hợp phụ gia hoặc bạn có thể ước tính bằng cách lấy mẫu trước, tạo sóng vuông theo cách ngây thơ, sau đó lấy mẫu xuống (nhưng vẫn sẽ có một số răng cưa, chỉ ở mức thấp hơn). Tương tự như vậy, bạn có thể tính gần đúng độ méo như bạn đã nói bằng cách lấy mẫu trước, nhưng có cách nào để tạo ra nó trực tiếp, với hàm răng cưa bằng không, tương tự như phương pháp tổng hợp phụ gia để tạo sóng vuông?
endolith

@JasonR: Nói chung, tôi đang hỏi về bất kỳ biến dạng phi tuyến tính nào, nhưng một cái gì đó giống như mô phỏng mạch biến dạng của amp guitar tương tự sẽ là một ví dụ tốt. Nếu tôi hiểu đúng, làm nó ngây thơ trong phạm vi kỹ thuật số sẽ tạo ra sản phẩm méo không tồn tại khi bị bóp méo trong lĩnh vực tương tự, một số trong đó có thể rõ ràng âm thanh ở tần số thấp hơn so với nền tảng vv
endolith

2
@endolith Đa thức Ch Quashev có thể là những gì bạn muốn.
chuyên gia dữ liệu

@datageist: Bạn có thể viết câu trả lời về cách sử dụng đa thức Ch Quashev không? Thậm chí là một ngắn.
endolith

Câu trả lời:


5

Áp dụng một hàm phi tuyến tính sẽ luôn giới thiệu sóng hài và trộn các hàm phi tuyến tính với các phiên bản được lấy mẫu của tín hiệu liên tục sẽ làm tăng thêm nếp nhăn mà bạn lưu ý ở trên (trong đó sóng hài tần số cao được đặt bí danh cho tần số thấp.)

Tôi có thể nghĩ ra một vài cách để tiến hành:

  1. Bạn có thể sử dụng hệ số bội số đủ cao để thu được các sóng hài bổ sung (lên đến một số độ chính xác tùy ý, ví dụ: sàn tạp âm của bạn),
  2. Bạn có thể sử dụng chức năng cắt "mềm hơn" (ví dụ, xem tại đây ) có các sóng hài chết sớm hơn so với clipper cứng. Điều này dễ dàng hơn để mô hình, nhưng giới thiệu biến dạng của chính nó ở tần số thấp.
  3. Dựa trên cách tiếp cận mà bạn đề xuất ở trên, nội suy tín hiệu được lấy mẫu của bạn (ví dụ: sử dụng bộ nội suy Lagrange hoặc Ch Quashev) để xây dựng mô hình thời gian liên tục. Sau đó, áp dụng clipper cứng và low-pass trong miền thời gian liên tục mô phỏng. Lấy mẫu kết quả.

Bạn có thể kết hợp (1) và (2). Cách tiếp cận thứ ba rất phức tạp, nhưng cung cấp cho bạn quyền kiểm soát tốt nhất đối với mức độ biến dạng để thừa nhận, và có thể sẽ mở rộng tốt hơn cho các yêu cầu độ trung thực rất cao.

Đối với các hàm phi tuyến tính thừa nhận mở rộng chuỗi (ví dụ Taylor / Maclaurin), bạn có thể có được một trực giác tốt cho việc phân rã sóng hài nhanh như thế nào. Bản mở rộng Maclaurin của hàm là:f(x)

f(x)=n=0[f(n)(0)n!xn]

Trong trường hợp của bạn, là hàm cắt. (Bạn không thể làm điều này với một clipper cứng, ít nhất là không ngây thơ!) Nếu bạn coi thay thế x = g ( t ) , trong đó g ( t ) là tín hiệu đầu vào của bạn, x n trở thành g ( t ) n , mà bạn có thể coi là tích chập tín hiệu đầu vào của mình với n lần. Do đó, đối với tín hiệu thông thấp, số hạng thứ n của tổng cộng vô hạn có băng thông nf(x)x=g(t)g(t)xng(t)nnnnlần đó là tín hiệu của bạn. Để hoàn thành bức tranh, bạn cần tìm ra biên độ liên quan đến từng thuật ngữ và quyết định có bao nhiêu thuật ngữ trong tổng kết có liên quan.

(Với một chút suy nghĩ, bạn cũng có thể có thể sử dụng trực tiếp biểu mẫu này để tính gần đúng tính phi tuyến tính được lọc. Điều đó sẽ yêu cầu một đại diện loạt tốt cho clipper.)


Để làm rõ, # 3 không chỉ là quá mức với phép nội suy, nó tìm các tham số của đa thức Ch Quashev liên tục phù hợp với các điểm được lấy mẫu và sau đó làm việc với các tham số đó và mô hình của đa thức?
endolith

1
Tôi đang tưởng tượng một chuỗi các phép nội suy đa thức mà mỗi hoạt động trên một phạm vi mẫu ngắn. Vì vậy, khi một loạt các mẫu mới xuất hiện, bạn sẽ xây dựng một bộ nội suy chỉ hoạt động trong một khoảng xác định. Tính gần đúng thời gian liên tục của bạn với tín hiệu được lấy mẫu bao gồm các đa thức này. (Tôi đang nghĩ đến Lagrange, nhưng Chebyshev có lẽ là cùng một điều tôi không nhớ nếu Chebyshev interpolators phù hợp với điểm mẫu chính xác Nếu không, bạn sẽ nhận được sự gián đoạn khi chuyển đổi giữa interpolators...)
Graeme

4

Một vài cách tiếp cận với biến dạng phi tuyến không có bí danh (theo thứ tự độ khó tăng dần):

  1. Biến dạng băng con : Sử dụng bộ lọc thông thấp để trích xuất đầu dưới của tín hiệu. Nếu bạn chọn tần số cắt của bạn có thể áp dụng bất kỳ hàm truyền phi tuyếnf nàovới các đạo hàm bắt đầu từfN+1biến mất để tránh răng cưa. Thêm đầu ra méo của dải tần thấp trở lại tín hiệu ban đầu. Đối với điều này, sửa đổi chức năng truyền phi tuyến của bạn để chỉ tạo ra sự biến dạng, không phải tín hiệu đến. Cách tiếp cận này thường hoàn toàn đủ cho âm thanh, bởi vì sự đóng góp biến dạng của tần số cao hơn sẽ không nghe thấy được trong hầu hết các trường hợp.fs2NffN+1

  2. Oversampling : Điều này tương tự như cách tiếp cận 1, nhưng yêu cầu thêm các bước tăng tốc và lấy mẫu xuống để đảm bảo rằng tất cả thông tin trong dải tín hiệu gốc sẽ góp phần vào tín hiệu bị méo, nếu bạn nghĩ rằng điều này là cần thiết. Nó cũng cho phép bạn biến dạng theo thứ tự cao hơn, bởi vì các phần của phổ gấp lại sẽ bị loại bỏ bởi bộ lọc downsampling. Điều đó có nghĩa là nếu bạn chồng chéo bởi một yếu tố , các đạo hàm của hàm truyền phi tuyến bắt đầu từ bậc 2 N phải biến mất. Thủ tục đơn giản như upampling, áp dụng hàm truyền phi tuyến, downsampling.N2N

  3. Sử dụng giải pháp phân tích cục bộ : Bất kỳchức năng truyền phi tuyến trơn tru nào cũng có thể được áp dụng cho tín hiệu được mô tả bởi chuỗi công suất. Nếu bạn để hàm truyền hoạt động trên chuỗi lũy thừa, bạn sẽ lấy lại chuỗi lũy thừa. Nếu bạn giới hạn bản thân trong chuỗi lũy thừa của một thứ tự nhất định và hàm truyền ở một mức độ mịn nhất định, bạn có thể viết hàm truyền dưới dạng bản đồ trên các hệ số của chuỗi bị cắt. Điều đó có nghĩa là thay vì , bạn xem xét f : R NR M lấy phần mở rộng chuỗi đầu vào có độ dài N thành mở rộng chuỗi đầu ra có độ dài Mf:RRf:RNRMN . Với cách hiểu này, bạn có thể sử dụng xấp xỉ hữu hạn cục bộ của tín hiệu đầu vào theo chuỗi công suất và ánh xạ nó tới xấp xỉ chuỗi công suất của đầu ra. Sau đó, bạn có thể phân tích tích hợp chuỗi đầu ra để tạo bộ lọc khử răng cưa ô tô để lấy giá trị mẫu đầu ra. Tất cả các tính toán này có thể được thực hiện một cách tượng trưng và vì bạn phải bao gồm các tính năng cục bộ của tín hiệu đầu vào, cuối cùng bạn sẽ có được bộ lọc phi tuyến sử dụng các giá trị trong quá khứ của tín hiệu đầu vào của bạn để tạo đầu ra hiện tại.M>N

  4. Thiết kế đại số dựa trên ràng buộc : Trong mục trước, bạn đã thấy rằng biến dạng phi tuyến khử răng cưa dẫn đến các bộ lọc phi tuyến. Tất nhiên, không phải tất cả các bộ lọc phi tuyến đều không có bí danh, nhưng một số có thể. Vì vậy, câu hỏi rõ ràng là một tiêu chí để làm cho bộ lọc như vậy hoàn toàn không có bí danh và làm thế nào để thiết kế nó. Hóa ra, một tuyên bố tương đương không có bí danh là, bộ lọc phi tuyến tính bắt đầu với các bản dịch mẫu phụ. Vì vậy, bạn phải đảm bảo rằng nó không tạo ra sự khác biệt nếu bạn dịch trước rồi lọc, hoặc lọc trước rồi dịch. Điều kiện này dẫn đến những hạn chế thiết kế rất nghiêm ngặtcho các bộ lọc phi tuyến, nhưng phụ thuộc vào cách bạn nhận ra bản dịch tín hiệu. Ví dụ, bản dịch lý tưởng sẽ yêu cầu vô số hệ số cho bộ lọc phi tuyến. Vì vậy, bạn phải xấp xỉ dịch tín hiệu theo thứ tự hữu hạn để có được bộ lọc phi tuyến hữu hạn. Tỷ lệ bí danh với tỷ lệ gần đúng bạn sử dụng, nhưng bạn có quyền kiểm soát rất tốt đối với nó. Sau khi bạn đã làm việc thông qua toán học của phương pháp này, bạn có thể thiết kế bất kỳ hàm truyền phi tuyến nào (không chỉ trơn tru) như một mô hình kỹ thuật số gần như lý tưởng dưới dạng bộ lọc phi tuyến. Tôi không thể phác thảo chi tiết ở đây, nhưng có lẽ bạn có thể tìm thấy một chút cảm hứng từ mô tả này.


y[t]=x[t]k

Hoặc, một câu hỏi khác (có lẽ liên quan) - nếu bạn đi theo cách tiếp cận hữu hạn cục bộ mà bạn đã đề cập, bạn sẽ có được một bản đồ từ chuỗi năng lượng bị cắt cụt sang chuỗi quyền lực bị cắt cụt. Sau đó, khi bạn cố gắng vượt qua chuỗi sức mạnh bị cắt cụt, thông thường sẽ được kết hợp với một hàm chân, bạn có nhận được bất kỳ biểu thức đơn giản nào cho kết quả không? Kết quả có thể được biểu thị lại dưới dạng một chuỗi lũy thừa, và nếu vậy, nó trông như thế nào?
Mike Battaglia

1
@MikeBattaglia, có lẽ bạn có thể tạo một câu hỏi mới để tôi có thể đưa ra câu trả lời thấu đáo ở đó. Để trả lời câu hỏi thứ hai của bạn, bạn không sử dụng hạt nhân SINC nhưng trong trường hợp đơn giản nhất là hạt nhân boxcar. Hạt nhân bậc cao hơn làm việc, nhưng để có được kết quả phân tích, bạn phải giới hạn bản thân ở một số hạt nhân nhất định.
Jazzmaniac

Cảm ơn - đã tạo một câu hỏi mới tại đây cho câu hỏi thiết kế bộ lọc: dsp.stackexchange.com/q/51533/18276
Mike Battaglia

2

Một thuật toán đủ điều kiện là biến dạng dải giới hạn là việc sử dụng các đa thức Ch Quashev với các đầu vào hình sin để tổng hợp sóng. Các đa thức Ch Quashev [thuộc loại thứ nhất] có thể được định nghĩa là

Tn(x)= =coS(nmộtrccoS(x)).

Tôi sẽ không đi vào chi tiết ở đây, nhưng có một dẫn xuất tương đối đơn giản bằng Định lý De MoivreTn(x)

(1)Tn(coS(kx))= =coS(nmộtrccoS(coS(kx)))= =coS(nkx).

Các đa thức có thể dễ dàng được tạo bằng cách sử dụng mối quan hệ lặp lại sau đây :

T0(x)=1T1(x)=xTn(x)=2xTn1(x)Tn2(x).

Dưới đây là một vài điều đầu tiên:

T0(x)=1T1(x)=xT2(x)=2x(x1)=2x21T3(x)=2x(2x21)x=4x33xT4(x)=2x(4x33x)(2x21)=8x48x2+1

(1)T2cos(x)

2cos2(x)1=2(eix+eix2)21=24(ei2x+2eixeix+ei2x)1=(ei2x+ei2x2)+221=cos(2x).

Bằng cách tính toán một loạt Ch Quashev

f(x)=n=0anTn(x)

nf(x)


Cảm ơn! Đối với dạng sóng khác với một hình sin đơn, điều gì xảy ra? Băng thông xen kẽ hay không?
endolith

1
xn

1

@ robert-bristow-johnson giải thích điều này rất rõ ràng trên comp.dsp :

bạn phải quá khổ đến một mức độ hữu hạn. nếu bạn đại diện cho tính phi tuyến tính (không nhớ, tôi giả sử) là một đa thức bậc hữu hạn (gần đúng với bất kỳ đường cong nào bạn đang cố gắng thực hiện), thì bất cứ thứ tự nào của đa thức đều là cùng một yếu tố của quá mức cần thiết và sẽ không xảy ra bí danh. sau đó bộ lọc thông thấp (với tốc độ quá mức đó) để loại bỏ tất cả các thành phần tần số cao hơn Nyquist ban đầu của bạn, sau đó lấy mẫu xuống và bạn sẽ không có răng cưa.

Nói cách khác, nếu phi tuyến của bạn là một đa thức, tần số cao nhất có thể được tạo ra bởi biến dạng sẽ là tần số cao nhất trong tín hiệu của bạn nhân với thứ tự N của đa thức. (Tính phi tuyến đa thức đang nhân tín hiệu của nó N lần, do đó phổ của nó được tích hợp với chính nó và lan ra theo cùng một tỷ lệ.)

Vì vậy, sau đó bạn biết tần số tối đa (cho dù Nyquist hoặc một số giới hạn thấp hơn cho ứng dụng của bạn) và bạn biết thứ tự của đa thức, do đó bạn có thể chồng chéo đủ để ngăn răng cưa, làm biến dạng, sau đó lọc thấp và lọc xuống.

Trên thực tế, bạn có thể giảm tỷ lệ quá khổ bằng cách để một số răng cưa xảy ra, miễn là nó có trong dải sẽ bị xóa trước khi lấy mẫu xuống:

Một mẹo nhỏ khác là bạn không cần quan tâm đến việc khử răng cưa có thể gập xuống khu vực mà bạn sẽ LPF. do đó, một đa thức bậc 5 chỉ cần có tỷ lệ bội số là 3. những hài bậc 2 đó có thể là bí danh, nhưng sẽ không quay trở lại dải cơ sở. khi downsampling, bạn lọc những sóng hài bí danh đó ra. vì vậy tôi nghĩ rằng quy tắc khó và nhanh là

tỷ lệ quá khổ = (thứ tự đa thức + 1) / 2


2
NN+12fs

@robert Tôi đã xem và thêm phần đó khi bạn đang bình luận. Nếu bạn viết lại này là câu trả lời của riêng bạn, tôi sẽ xóa nó và chấp nhận của bạn
endolith

1
trời ơi để ăn mặc một câu trả lời tốt đẹp đòi hỏi phải làm việc.
robert bristow-johnson

@ robertbristow-johnson Vâng, các điểm internet tưởng tượng là của bạn nếu bạn muốn họ
endolith
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.