# acousticOFDM
### 1. Introduction
**acousticOFDM** is an simple acoustic implementation of OFDM-modulated communication. Two android phones are used to play and record the acoustic signal and transmit bits information. Current `main` branch is a refactor of the legacy implementation, which optimizes the main modulation part and adds IQ mod/demod in the transceiver. The legacy implementation has low spectrum efficiency and limits the throughput of OFDM transmission.
### 2. Branch and Folder Explanation
- `main` branch contains the new IQ-based implementation of **acousticOFDM**. Folder `Matlab` contains MATLAB implementation, where `main_tx.m` and `main_rx.m` are the entrances for sender signal generation and receiver signal processing, respectively. Folder `AudioTransceiver` contains the *Android Studio* project for audio signal transmitter and receiver. The program is only used to play the MATLAB-generated signal and record the received signal. It does not contain any modulation and demodulation implementation. Folder `Figures` contains some figures for this Readme.
- `legacy` branch contains the legacy implementation and maybe some archived functions. In this branch, folder `Matlab` also contains the MATLAB OFDM modulation and demodulation. Folder `asonicOFDM` is the legacy Android implementation of the whole transmitting and receiving process. Different from `main` branch, it contains the signal generation, modulation, and demodulation. However the implementation is pretty old and has limited throughput as discussed above.
### 3. Introduction of OFDM
OFDM (Orthogonal Frequency Division Multiplexing) uses multiple closely spaced orthogonal subcarrier signal to carry bits data in parallel. It is commonly used in today's RF transceivers. Detailed explanation of OFDM can be found easily and we will not go into the details here.
#### 3.1. OFDM in RF transceivers
In an RF transmitter, the whole process of OFDM is shown below:
<img src="./Figures/RF_Tx.PNG" alt="RF_Tx" style="zoom:67%;" />
The digital signal processing part is commonly seen in all types of OFDM modulators. It output the digital baseband IQ signal $s_b(t)$ which is centered in 0Hz and is a complex signal. This baseband signal is bound with a sampling frequency that is usually the bandwidth (BW) of the signal. For common WiFi chips, the value is 20MHz (20Msps). Then, the signal goes through a DAC to be converted to analog form. The analog signal is went through an IQ modulation process which upconvert the signal to carrier frequency ($f_c$). Finally the signal is transmitted using an antenna. The analog frontend is implemented with analog/RF circuits and of course not achievable for acoustic scenario.
The OFDM receiver for RF is shown below:
<img src="./Figures/RF_Rx.PNG" alt="RF_Rx" style="zoom:67%;" />
As we can see, It almost simply inverts the modulation process for a transmitter. Differently, it contains the RF low pass filter to filter out the baseband signal and remove $2f_c$ part brought by the IQ demodulation. It also contains the frame synchronization and channel estimation part. Similarly, the analog frontend is implemented using RF circuits and usually unchangeable once made. The part we conduct signal processing is only the baseband signal, and in digital form.
#### 3.2. OFDM in acoustic system
For an acoustic implementation, it is easy to see that we can simply keep the digital processing part same with the RF implementation. In other words, the baseband processing is directly used. However, the main difference for RF and acoustic system is their frontends. RF transceivers use circuit to process the analog signal, e.g., mixers, filters, phase shifters. For acoustic systems, what we get is usually the sampled in-air signal in digital form. For example, a microphone samples the sound signal in 48000Hz and directly feeds the digital form samples to us. Therefore, to connect the baseband part of commonly seen OFDM modulators/demodulators with the acoustic frontend, we need to simulate the IQ modulation in digital form. In a transmitter, such a process is shown below:
<img src="./Figures/Acoustic_Tx.PNG" alt="Acoustic_Tx" style="zoom:67%;" />
We can see that there is not any DAC part. It is replaced by a resample part. The frontend part, however, has little difference. It merely simulates the process in RF transceivers. To understand why the resample part exists, we need some specific sampling configurations. For example, we let the sampling frequency for baseband signal be 4000Hz, the sampling frequency for sound wave be 48000Hz. To conduct the digital mixing process, we need to multiply the baseband with $\cos{(2\pi f_ct)}$. In digital implementation, this process require the two inputs to have the same sampling rate. Therefore, we need to upsample the baseband signal of 4000Hz to it of 48000Hz. In other words, we use the sound wave sampling frequency 48000Hz to simulate the analog processing part of RF transceivers.
Correspondingly, the process of an receiver is shown below:
<img src="./Figures/Acoustic_Rx.PNG" alt="Acoustic_Rx" style="zoom:67%;" />
It is very similar with Tx part, only the resample process is a downsampling now.
### 4. Design Details
We give some design details of **acousticOFDM**.
##### Packet Structure
The packet contains an STF (short training field), an LTF (long training field), and some data symbols. Each of the symbol lasts for 20ms, since the baseband sampling frequency is 4000Hz and every symbol is 80 points long. The packet structure is similar to WiFi OFDM packet but much simpler.
##### STF & LTF Definition
The STF is used for frame synchronization. It contains 5 periodic signal sequence which is the same for WiFi STF but in half length. The definition for WiFi STF is:
<img src="./Figures/STF.PNG" alt="STF" style="zoom:67%;" />
The LTF is used for the receiver to estimate the channel and compensate for data symbols. The definition is also the same with WiFi LTF but in half length. The definition for WiFi LTF is:
<img src="./Figures/LTF.PNG" alt="LTF" style="zoom:67%;" />
##### Subcarriers Allocation
We use 64 length FFT and 52 of which are used to transmit data, also the same with WiFi. The mapping between subcarrier numbers and its position in FFT is shown below:
<img src="./Figures/IFFT.PNG" alt="IFFT" style="zoom:67%;" />
##### Channel Estimation
We use the simplest Least Squares (LS) channel estimation, which simply takes the result of the received signal on certain subcarrier dividing the transmitted signal. It can be improved using other method.
### 5. Results
We show the result of one reception here:
<img src="./Figures/Result.png" alt="Result" style="zoom:67%;" />
### Reference
[1] Molisch, Andreas F. Wireless communications. *John Wiley & Sons*, 2012.
[2] Tse, David, and Pramod Viswanath. Fundamentals of wireless communication. *Cambridge university press*, 2005.
[3] "IEEE Standard for Information Technology - Telecommunications and Information Exchange Between Systems - Local and Metropolitan Area Networks - Specific Requirements - Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications", in *IEEE Std 802.11-2007 (Revision of IEEE Std 802.11-1999)*, 2007.
没有合适的资源?快使用搜索试试~ 我知道了~
使用声波的 Android 手机上的 OFDM 调制换向系统
共71个文件
m:17个
xml:15个
webp:10个
0 下载量 104 浏览量
2024-08-30
09:37:18
上传
评论 1
收藏 914KB ZIP 举报
温馨提示
声学 OFDM 1. 引言 acousticOFDM 是 OFDM 调制通信的一种简单声学实现。两部 android 手机用于播放和记录声音信号并传输比特信息。Current Branch 是传统实现的重构,它优化了主调制部分并在收发器中添加了 IQ mod/demod。传统实现的频谱效率低,限制了 OFDM 传输的吞吐量。main 2. 分支和文件夹说明 mainbranch 包含基于 IQ 的新 acousticOFDM 实现。文件夹包含 MATLAB 实现,其中 和 分别是发送方信号生成和接收方信号处理的入口。文件夹中包含用于音频信号发射器和接收器的 Android Studio 工程。该程序仅用于播放 MATLAB 生成的信号并记录接收到的信号。它不包含任何调制和解调实现。文件夹包含此自述文件的一些图表。Matlabmain_tx.mmain_rx.mAudioTransceiverFigures legacybranch 包含遗留的实现,可能还有一些存档的函数。在此分支中,文件夹还包含 MATLAB OFDM 调制和解调。Folder 是整个发送和接收过程的旧版 Andro
资源推荐
资源详情
资源评论
收起资源包目录
acousticOFDM-main.zip (71个子文件)
acousticOFDM-main
Figures
RF_Tx.PNG 96KB
Acoustic_Tx.PNG 57KB
Result.png 303KB
IFFT.PNG 25KB
Acoustic_Rx.PNG 67KB
LTF.PNG 120KB
STF.PNG 115KB
RF_Rx.PNG 106KB
Matlab
BPSKdemod.m 557B
rcoswindow.m 379B
OFDMmod.m 2KB
QAM16demod.m 879B
QPSKmod.m 569B
main_tx.m 756B
ofdm_config.m 3KB
String2Bin.m 320B
Sync_xcorr.m 2KB
main_rx.m 2KB
IQdemod.m 1KB
BPSKmod.m 462B
.gitignore 24B
Bin2String.m 288B
QPSKdemod.m 646B
OFDMdemod.m 2KB
QAM16mod.m 888B
IQmod.m 1KB
LICENSE 1KB
AudioTransceiver
gradle.properties 1KB
gradle
wrapper
gradle-wrapper.jar 58KB
gradle-wrapper.properties 232B
app
src
androidTest
java
com
example
ofdmtrans
ExampleInstrumentedTest.java 756B
test
java
com
example
ofdmtrans
ExampleUnitTest.java 382B
main
java
com
example
ofdmtrans
Utils.java 3KB
Recorder.java 6KB
MainActivity.java 7KB
res
mipmap-xxhdpi
ic_launcher_round.webp 6KB
ic_launcher.webp 3KB
mipmap-hdpi
ic_launcher_round.webp 3KB
ic_launcher.webp 1KB
drawable-v24
ic_launcher_foreground.xml 2KB
mipmap-anydpi-v26
ic_launcher.xml 272B
ic_launcher_round.xml 272B
values-night
themes.xml 831B
mipmap-mdpi
ic_launcher_round.webp 2KB
ic_launcher.webp 982B
mipmap-xxxhdpi
ic_launcher_round.webp 8KB
ic_launcher.webp 4KB
mipmap-xhdpi
ic_launcher_round.webp 4KB
ic_launcher.webp 2KB
xml
data_extraction_rules.xml 551B
backup_rules.xml 478B
values
colors.xml 378B
strings.xml 71B
themes.xml 831B
layout
activity_main.xml 2KB
drawable
ic_launcher_background.xml 5KB
AndroidManifest.xml 1KB
proguard-rules.pro 750B
build.gradle 1021B
.gitignore 6B
gradlew.bat 3KB
build.gradle 291B
.idea
misc.xml 659B
compiler.xml 169B
gradle.xml 680B
.gitignore 47B
settings.gradle 326B
gradlew 6KB
.gitignore 225B
.gitignore 20B
README.md 7KB
共 71 条
- 1
资源评论
潦草通信狗
- 粉丝: 340
- 资源: 220
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- HTML与CSS制作的静态圣诞树图案教程
- 基于STM32单片机的智能晾衣架高分项目源码(小白也可实战).zip
- STM32+ESP8266 WIFI遥控小车源码
- C# winform新版盒盖机[完整源码解压后1.8G].zip
- Python实现控制台圣诞树图形打印
- node-v20.10.0-x64.msi 下载
- 约瑟夫问题及递推公式的计算机科学应用
- 基于stm32f103c8t6的智能台灯源码
- 本地磁盘学习使用仅供参考
- C# winform-SerialPort串口Demo.zip
- putty远程连接服务器利器,ssh连接工具
- 二维码生成工具,适用于window平台汉字转二维码的工具,文本传输
- openEuler 22.03-SP4 在线部署 Kubernetes
- C# WPF-CCS线体,写的测试MES用的Demo .zip
- 自动蒸馏清洁机sw18可编辑全套技术开发资料100%好用.zip
- C++实现Qt和Mysql的智能停车场管理系统源码+数据库(高分项目)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功