Skip to content

Andrewhbyers17/C_project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FFT Analyzer - Network Version

This folder contains the Windows-compatible network version of the FFT Analyzer that reads live signal data from TCP/UDP sources instead of FPGA hardware.

📁 What's in This Folder

Main Application Files

  • fft_analyzer_network.c - Main application (network input, DSP, web server integration)
  • Makefile.windows - Build script for Windows (MinGW/MSVC)

Shared Library Files (from original project)

  • web_server.c, web_server.h - HTTP server and web interface
  • kiss_fft.c, kiss_fft.h, _kiss_fft_guts.h - FFT library

Testing Tools

  • send_test_data.py - Python network data sender with 10 test signals

Documentation

  • README_NETWORK.md - Complete usage guide and reference
  • QUICK_START_NETWORK.md - 5-minute quick start guide
  • NETWORK_VERSION_SUMMARY.md - Project overview and comparison

🚀 Quick Start

1. Build (Windows)

# MinGW
make -f Makefile.windows

# OR Visual Studio
nmake /F Makefile.windows CC=cl

2. Run Test Mode

./fft_analyzer_network.exe --test

3. Open Browser

http://localhost:8080

4. Connect to Network Source

Terminal 1 - Run data sender:

python send_test_data.py --port 5000 --signal chirp

Terminal 2 - Run analyzer:

./fft_analyzer_network.exe --source 127.0.0.1:5000 --protocol tcp

📚 Documentation

🎯 Key Features

  • ✅ Runs on Windows 10/11 (x86/x64)
  • ✅ Reads float32 samples from TCP/UDP
  • ✅ Same DSP as DE10-Nano version (FFT, PSD, band energy)
  • ✅ Same web interface
  • ✅ No hardware dependencies
  • ✅ All control through web GUI

🔧 Requirements

  • Windows 10/11
  • MinGW-w64 OR Visual Studio (MSVC)
  • Network source sending float32 samples
  • Web browser

📊 Network Data Format

Your signal source must send:

  • Type: IEEE 754 float32 (4 bytes/sample)
  • Endian: Little-endian
  • Rate: 8000 Hz (configurable)
  • Frame: 512 samples (2048 bytes)
  • Protocol: TCP or UDP

🆚 vs. DE10-Nano Version

Feature DE10-Nano Network Version
Platform Linux/ARM FPGA Windows/x86
Input FPGA hardware TCP/UDP network
Control Switches + Web Web only
Build Cross-compile Native Windows

💡 Use Cases

  1. SDR Integration - Connect to GNU Radio, SDR#, etc.
  2. Remote Monitoring - Monitor signals from remote hardware
  3. Algorithm Testing - Test with known signals
  4. Development - Quick FFT analysis without hardware

📝 Files Summary

File Size Purpose
fft_analyzer_network.c ~650 lines Main application
web_server.c/h ~600 lines Web interface
kiss_fft.c/h ~400 lines FFT library
send_test_data.py ~250 lines Test data sender
Makefile.windows ~80 lines Build script
Documentation 3 files Guides & reference

⚡ Performance

  • Update Rate: 10 Hz (100ms/frame)
  • CPU Usage: ~5-10%
  • Memory: ~20 MB
  • Bandwidth: ~164 Kbps
  • Latency: ~150-200ms end-to-end

🔗 Command Reference

# Build
make -f Makefile.windows

# Test mode
./fft_analyzer_network.exe --test

# TCP connection
./fft_analyzer_network.exe --source IP:PORT --protocol tcp

# UDP connection
./fft_analyzer_network.exe --source IP:PORT --protocol udp

# Help
./fft_analyzer_network.exe --help

📧 Support

Check the documentation files for detailed troubleshooting and examples!


Status: ✅ Complete and ready to use Version: 1.0 Date: December 2024

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors