How to fix my DMIC interface data ?

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

How to fix my DMIC interface data ?

ソリューションへジャンプ
1,552件の閲覧回数
jameswhitney
Contributor II

Greetings,

I now have a DMIC project running on a LPCXpresso54114 *without* the MAO shield, i.e., I go directly into the DMIC interface. I am able to capture and store data. The problem is the data will go from i.e., very low values during silence to almost 'FFFF' (its decimal equivalent) instantaneously *STILL DURING SILENCE*.

2
4
5
3
3
0
65533
65530
65530
65530
65531
65530

65533
65535
0
1
1
2
3

The 'true' values seem to reflect the conditions of the acquisition environment, i.e., during silence (DMIC covered with several layers of absorber) the values are very small single/double digits. During, i.e., speech can see higher amplitude values and some modulation.

Would like to get some insight on what might be causing this, and how to fix it.

Regards,

Jim

ラベル(3)
タグ(2)
0 件の賞賛
返信
1 解決策
1,419件の閲覧回数
xiangjun_rong
NXP TechSupport
NXP TechSupport

Hi, James,

Regarding your question, I think the PCM data is in complementary format, pls refer to the following diagram in UM10914.pdf.

pastedImage_1.png

In 16 bits complementary, for the positive data, it is from 0, 1,2... to 0x7FFF, the 0x7FFF is the maximum. For negative value, it is from 0xFFFF, 0xFFFE, 0xFFFD...0x8000, the 0xFFFF approaches to zero, 0x8000 is the minimum value.

This is the complementary data format description:

pastedImage_2.png

I conclusion, I think it is okay the PCM data is from 0~5 or 65530~65535 in silent environment.

Hope it can help you

BR

XiangJun Rong

元の投稿で解決策を見る

0 件の賞賛
返信
2 返答(返信)
1,420件の閲覧回数
xiangjun_rong
NXP TechSupport
NXP TechSupport

Hi, James,

Regarding your question, I think the PCM data is in complementary format, pls refer to the following diagram in UM10914.pdf.

pastedImage_1.png

In 16 bits complementary, for the positive data, it is from 0, 1,2... to 0x7FFF, the 0x7FFF is the maximum. For negative value, it is from 0xFFFF, 0xFFFE, 0xFFFD...0x8000, the 0xFFFF approaches to zero, 0x8000 is the minimum value.

This is the complementary data format description:

pastedImage_2.png

I conclusion, I think it is okay the PCM data is from 0~5 or 65530~65535 in silent environment.

Hope it can help you

BR

XiangJun Rong

0 件の賞賛
返信
1,419件の閲覧回数
jameswhitney
Contributor II

Good morning, Xiangjun,

Indeed, that was the problem. Based on the original values, I thought it may have been some sort of roll-over problem. I wrote some code to handle the Two's-complement case and everything is as it should be - Thanks !

Jim

0 件の賞賛
返信