Віднімання вихідних датчиків, які мають взаємну індукцію між собою


12

Передумови: Програмне забезпечення, яке я використовую для аналізації моїх сигналів, є матлаб. У мене є два аудіосигнали, які були записані за допомогою двох магнітних датчиків. Дозвольте викликати один датчик А, а інший В. А і В мають взаємну індуктивність між ними.

Поки датчики А і В працюють, я хотів би відняти інформацію, яка була отримана в датчик А через взаємну індуктивність від датчика B.

Я спробував відняти сигнал B від сигналу A, просто записавши в matlab (AB), але це дає мені дурну відповідь. Я думаю, що це походить від зрушення, яке я маю у фазі. Час початку запису двох треків однаковий, і тому я думаю, що це не затримка в часі.

Мені хотілося б знати, як теоретично зробити цей процес віднімання, і якщо хтось має поради, як його легко реалізувати в matlab, я хотів би знати.

Я дуже буду вдячний за будь-яку допомогу.

Заздалегідь спасибі.

Нижче я додав зображення графіків сигналів. На першому знімку ви бачите сигнали, що надходять від датчика A і датчика B. На другому малюнку я побудував датчик A червоного кольору, а датчик B - синього кольору, в діапазоні 2,12: 2,16 і збільшив масштаб ще більше.

введіть тут опис зображення

введіть тут опис зображення


Отже, із ваших сюжетів виходить, що між джерелом 1 та джерелом 2 не існує багато перехресних переговорів, лише від 2 до 1. Чи є ваше накладення на зображенні неправильним ("Це потрібно відняти від джерела 2")? Схоже, ви намагаєтесь видалити джерело 2 з 1, правда?
Джейсон R

Це правильно.
користувач1017064

щоб підтвердити ідею фазового зсуву, побудуйте обидві форми хвилі впритул, тільки включаючи від індексу 2.3 до 2.4 або щось подібне, так що ви можете бачити окрему хвилю в обох каналах
ендоліт

Відповіді:


4

Це виглядає як проблема прямого крос-бесіди. Ви не можете просто відняти сигнал безпосередньо, оскільки магнітна муфта різна для кожної частоти (з точки зору амплітуди та фази).

Скажімо, у вас є два аудіосигнали xa (t) і xb (t) і два сигналу датчика ya (t) і yb (t). Оскільки між датчиками є з'єднання, ви отримаєте перехресну розмову, і ми можемо записувати в частотній області

Ya(w) = Haa(w)*xa(w) + Hba(w)*xb(w)
Yb(w) = Hab(w)*xa(w) + Hbb(w)*xb(w)

де Hxy (w) - функція передачі від сигналу "x" до сигналу датчика "y". 4 функції передачі утворюють матрицю 2x2 і для повного відновлення вихідних сигналів вам потрібно інвертувати матрицю та застосувати перевернуті функції передачі матриці до отриманих сигналів датчика.

Оскільки ваша перехресна розмова невелика, ви можете просто виміряти функцію передачі Hba (w) безпосередньо та відняти її так: Виміряйте функцію передачі від сигналу A до датчика B, коли сигнал B дорівнює 0. Створіть фільтр з цієї функції передачі ( FIR або IIR, залежно від форми). Тепер ви можете вимірювати і віднімати відфільтровану версію від сигналу датчика A від сигналу датчика B:

yb(t)' = yb(t)-hab(t)**ya(t)

де hab (t) - імпульсна характеристика вашого перехресного фільтра розмов і ** оператора згортки.

Перехресний фільтр представляє амплітуду та зсув фази як функцію частоти вашого конкретного датчикового з’єднання, і він забезпечує правильний сигнал віднімається.


Гільмаре, я новачок у матлабі, і у мене виникли труднощі при спробі втілити вашу відповідь. Я буду вдячний за будь-яку допомогу від усіх. Перше, що я зробив - це записати сигнал A, коли датчик B дорівнює 0. Тепер, які аргументи я повинен вставити у фільтр, коли викликаю функцію "filter"? Якщо вам потрібна візуалізація сигналу, ви можете побачити його у вищезазначеному питанні. Знову дякую.
user1017064

5

Це звучить як сліпе розділення джерела . Як правило, ви не можете змішувати речі після їх змішування. Якщо у вас є два різних запису з двох джерел із деяким джерелом у кожному записі, іноді ви можете використовувати незалежний компонентний аналіз, щоб розділити їх.

У мене є приклад Python тут . Також є FastICA для MATLAB . Якщо вони є аудіосигналами, піднімаючись магнітно, між ними, мабуть, немає помітної затримки. ICA добре працює в цьому випадку.


FastICA для Matlab не допоміг мені зробити віднімання між двома сигналами. Результат просто недостатньо хороший. У своєму коментарі вище я додав посилання на фото, яке може пояснити ситуацію, з якою я стикаюся: bit.ly/rXmVgH. До речі, дуже дякую за допомогу.
користувач1017064
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.