课堂原始I/Q数据集

A/C/D三个型号 · 6个已知个体 + 3个未知个体
训练1190个MAT · 学生测试676个MAT
先阅读下方指南,或下载 完整下载指南。推荐使用 自动续传与校验脚本。

下载文件

文件大小
DOWNLOAD_GUIDE.md0.01 MB
SHA256SUMS.txt0.00 MB
dataset_info.json0.00 MB
download_dataset.py0.00 MB
read_iq.py0.00 MB
requirements.txt0.00 MB
student_test_A1.zip560.78 MB
student_test_A2.zip810.14 MB
student_test_A3.zip2,319.15 MB
student_test_C1.zip507.00 MB
student_test_C2.zip708.33 MB
student_test_C3.zip1,905.06 MB
student_test_D1.zip604.74 MB
student_test_D2.zip606.92 MB
student_test_D3.zip2,056.83 MB
student_test_labels.csv0.10 MB
train_A1.zip2,585.86 MB
train_A2.zip3,730.62 MB
train_C1.zip2,406.89 MB
train_C2.zip3,227.51 MB
train_D1.zip2,820.43 MB
train_D2.zip2,828.96 MB
train_labels.csv0.17 MB

下载与使用指南

# 课堂I/Q数据集下载与使用指南

## 1. 下载地址

连接校园网,在浏览器打开:http://10.108.10.64:8080/

本实验使用DroneRFb-DIR的A/C/D三个型号,共9个个体。训练集有6个已知个体,共1190个MAT;学生测试集有9个个体,共676个MAT。

- A:DJI Mavic 3 Pro;C:DJI Mini 2 SE;D:DJI Mini 4 Pro。
- 已知个体:A1、A2、C1、C2、D1、D2,对应分类编号0、1、2、3、4、5。
- 未知个体:A3、C3、D3,开集标签统一为-1;CSV也保留真实个体名用于聚类评价。
- 每个MAT包含I和Q两个float32数组,原始形状均为(1, 4000000)。文件内容未做裁剪、归一化或重采样。
- 场景前缀用于分层随机划分。本实验是同场景开集识别,不是跨场景泛化评测。

## 2. 需要下载什么

下载全部15个ZIP,以及 `train_labels.csv`、`student_test_labels.csv`、`dataset_info.json`、`SHA256SUMS.txt`、`read_iq.py`、`requirements.txt`。
全部ZIP合计 **27.68 GB**,解压后约 **27.68 GB**。保留ZIP并解压时建议至少预留 **61 GB** 磁盘空间;可使用NTFS、APFS、exFAT或ext4,不建议FAT32。

| 压缩包 | MAT数量 | 下载大小(十进制) |
|---|---:|---:|
| `train_A1.zip` | 175 | 2.586 GB |
| `train_A2.zip` | 248 | 3.731 GB |
| `train_C1.zip` | 166 | 2.407 GB |
| `train_C2.zip` | 223 | 3.228 GB |
| `train_D1.zip` | 187 | 2.820 GB |
| `train_D2.zip` | 191 | 2.829 GB |
| `student_test_A1.zip` | 38 | 0.561 GB |
| `student_test_A2.zip` | 54 | 0.810 GB |
| `student_test_A3.zip` | 157 | 2.319 GB |
| `student_test_C1.zip` | 35 | 0.507 GB |
| `student_test_C2.zip` | 49 | 0.708 GB |
| `student_test_C3.zip` | 127 | 1.905 GB |
| `student_test_D1.zip` | 40 | 0.605 GB |
| `student_test_D2.zip` | 41 | 0.607 GB |
| `student_test_D3.zip` | 135 | 2.057 GB |

## 3. 推荐:跨平台自动下载、续传和校验

从首页下载 `download_dataset.py`。在准备保存数据的目录打开终端,执行:

Windows(已安装Python 3):
```powershell
py download_dataset.py --base-url http://10.108.10.64:8080/ --output classroom_iq
```

macOS / Linux:
```bash
python3 download_dataset.py --base-url http://10.108.10.64:8080/ --output classroom_iq
```

此下载器仅使用Python标准库。中断后重新运行同一命令会续传;完整文件会校验SHA-256。校验失败会明确报错,不会把不完整文件当成成功。

## 4. 浏览器下载与手动续传

也可以逐个点击首页链接,保存到同一文件夹。不要重命名文件。

例如手动续传A1训练包:
```bash
curl -f -L -C - -O http://10.108.10.64:8080/train_A1.zip
```
Windows PowerShell中请写 `curl.exe`,其余参数相同。

## 5. 校验与解压

推荐先用上述自动下载器完成校验。手动检查单个文件可执行:

Windows PowerShell:
```powershell
Get-FileHash .\classroom_iq\train_A1.zip -Algorithm SHA256
```
macOS:
```bash
cd classroom_iq
shasum -a 256 -c SHA256SUMS.txt
```
Linux:
```bash
cd classroom_iq
sha256sum -c SHA256SUMS.txt
```
PowerShell输出应与 `SHA256SUMS.txt` 中对应行一致。

在所有系统上,可用Python将15个ZIP解压到同一根目录:
```bash
python3 -c "from pathlib import Path; from zipfile import ZipFile; p=Path('classroom_iq'); [ZipFile(z).extractall(p) for z in sorted(p.glob('*.zip'))]"
```
Windows将开头的 `python3` 换成 `py`。解压后应为:
```text
classroom_iq/
  train/A1/*.mat           # 其余5个已知个体同级
  student_test/A1/*.mat    # 全部9个个体同级
  train_labels.csv
  student_test_labels.csv
  read_iq.py
  requirements.txt
```
不要再给每个ZIP额外套一层同名文件夹,否则CSV相对路径无法对应。

## 6. 读取一个原始I/Q样本

macOS / Linux:
```bash
python3 -m pip install -r classroom_iq/requirements.txt
python3 classroom_iq/read_iq.py --root classroom_iq --split train
```
Windows将 `python3` 换成 `py`。脚本读取CSV第一行对应的文件,输出形状、数据类型和标签,并用 `I + 1j * Q` 构造复数序列。一次只读取一个MAT,不把全部数据载入内存。

## 7. 实验规则与常见问题

- 仅用train训练。需要验证或选择未知拒识阈值时,从train内部再划分验证集;不可用student_test标签调参。
- student_test标签用于自行计算已知类准确率、未知拒识率和聚类指标。未知个体不可加入监督训练。
- 对MAT进一步切窗时,同一个MAT的所有窗口必须保持在同一集合,不能将相邻窗口重新随机混入训练和测试。
- 采样率没有写入本教学包的已核验I/Q字段,不要自行假设采样率或用不明采样率标注物理频率轴。
- “找不到文件”:检查是否在所有ZIP解压后出现了多余文件夹,CSV路径相对于classroom_iq目录。
- “MAT版本不支持”:这是HDF5格式MAT,使用h5py读取,不使用scipy.io.loadmat。
- 下载中断:重跑自动下载命令。校验失败时删除对应的坏文件/`.part`再下载,不要直接用于实验。
- 页面打不开:确认已连接校园网并已完成校园网认证,使用上方完整HTTP地址;联系教师确认服务运行状态。

来源:https://www.scidb.cn/detail?dataSetId=84cf9101e739402784b1396783881202