Welcome to the CSC Q&A, on our server named in honor of Ada Lovelace. Write great code! Get help and give help!
It is our choices... that show what we truly are, far more than our abilities.

Categories

+6 votes

In our scenerio, we have a setting that whenever the bot's frequency is within the accceptable range of the radio, the CW sound (example: SOS but it would play ... --- ...) on the radio. One problem is that if multiple bots playing sound at the same time (for our case, 8 bots), it would be very chaotic.

Dr. Stonedahl suggested to only allow 2 bots within a specific range, so that not many bots would be playing sound at the same time. Changing the volume of the bots based on how off they are from the radio filter is also an option. One of our group member suggested using existed framework to merge the audio lines into one stream. Do your group have the same problem? Is there any idea on mixing sound?

asked ago in CSC 305 Fall 2024 by (1.4k points)

2 Answers

+5 votes

I had the same question because in a real life scenario you cannot control how many people are on the same frequency and this could cause a problem in deciphering messages too, perhaps something Dr.Vincent can help us with?

For the bots though, I like the idea of using existed framework to merge the audio lines into one stream but wouldn't it then cause confusion in receiving the correct message sent by their original sender.

answered ago by (1k points)
0 votes

So I'll explain what I did. So this kind of depends on what band you are in, but the concepts are still the same.

In all of the situations that we have bots playing, we basically randomize their frequency to any frequency that is within the band. So for the 10 m band, the frequency range is from 28.000 to 29.700. So in order to get a random frequency in that range, we just converted the numbers into the thousands, so that we can get a random integer between them, and then we just divided by 1000 afterwards. So for this band, we got a random number from 0 to 1700, and then added that to 28000, then divided by 1000 to get a random number between 28.000 and 29.700.

So to answer your question, the odds of you getting two bots to have almost the exact same frequency are very low. There is a 1/2890000 chance of two bots getting the same frequency. So for our project, we just didn't worry about it. We didn't worry about making sure that two bots didn't get the same frequency.

So we do two things to make it so that we can differentiate between the bots: different pitches, and the filter.

  • For the different pitches, we look at the difference between the frequency you are on, vs what the bot is on, and if that is high, then you will hear a higher pitch sound from the bot. So if there is a bot that is very different from the frequency that you are on, and a bot that is close to the frequency that you are on, then you will hear very high pitch beeping, and about "normal" pitch beeping.

  • The second thing that we do is we have a filter that allows us to change what frequencies we can hear. So if our filter is at its max value, then we can hear the entire range of the frequencies from 28.000 to 29.700. So we would be able to hear every single bot playing at the same time. When we decrease our filter, then we decrease the frequencies that we can hear, centered on what our own frequency is. So if our filter is set to the smallest value that we can, then we can only hear the frequencies that are about 0.010 away from our own frequency. So by using the filter, we can focus in on a single bot that we want to listen to, and make it so that we don't hear any of the other bots.

answered ago by (1.4k points)
...