- Use C++ Equalizer DFE and CMA

git-svn-id: http://moon:8086/svn/software/trunk/projects/mpsk_rx_gui@91 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
2014-12-20 17:57:31 +00:00
parent 2bf059a84a
commit 8943af5976
3 changed files with 111 additions and 115 deletions
+37 -37
View File
@@ -122,8 +122,6 @@ void GraphComponent::mouseDown (const MouseEvent& e)
void GraphComponent::receiverStatusChanged(ReceiverInterface *pReceiver)
{
uint32_t i, j;
uint32_t N;
const cpx_t *pW;
float minX = 1000;
float maxX = -1000;
@@ -131,50 +129,52 @@ void GraphComponent::receiverStatusChanged(ReceiverInterface *pReceiver)
float maxY = -1000;
j = 0;
N = pReceiver->getNumWeightsCMA();
pW = pReceiver->getWeightsCMA();
for (i=0; i < N; i++)
{
m_pCurves[j].m_pPointArray[i].x = (float)i;
m_pCurves[j].m_pPointArray[i].y = CpxMagS(pW[i]);
const CVec &w = pReceiver->getWeightsCMA();
for (i=0; i < w.size(); i++)
{
m_pCurves[j].m_pPointArray[i].x = (float)i;
m_pCurves[j].m_pPointArray[i].y = abs(w(i));
if (m_pCurves[j].m_pPointArray[i].y < minY)
{
minY = m_pCurves[j].m_pPointArray[i].y;
}
if (m_pCurves[j].m_pPointArray[i].y > maxY)
{
maxY = m_pCurves[j].m_pPointArray[i].y;
if (m_pCurves[j].m_pPointArray[i].y < minY)
{
minY = m_pCurves[j].m_pPointArray[i].y;
}
if (m_pCurves[j].m_pPointArray[i].y > maxY)
{
maxY = m_pCurves[j].m_pPointArray[i].y;
}
}
m_pCurves[j].m_numPoints = w.size();
maxX = (float)(w.size()-1);
}
m_pCurves[j].m_numPoints = N;
maxX = (float)(N-1);
j = 1;
N = pReceiver->getNumWeightsDFE();
pW = pReceiver->getWeightsDFE();
for (i=0; i < N; i++)
{
m_pCurves[j].m_pPointArray[i].x = (float)i;
m_pCurves[j].m_pPointArray[i].y = CpxMagS(pW[i]);
if (m_pCurves[j].m_pPointArray[i].y < minY)
const CVec &w = pReceiver->getWeightsDFE();
for (i=0; i < w.size(); i++)
{
minY = m_pCurves[j].m_pPointArray[i].y;
}
if (m_pCurves[j].m_pPointArray[i].y > maxY)
{
maxY = m_pCurves[j].m_pPointArray[i].y;
}
}
m_pCurves[j].m_numPoints = N;
m_pCurves[j].m_pPointArray[i].x = (float)i;
m_pCurves[j].m_pPointArray[i].y = abs(w(i));
minY = 0;
minX = 0;
maxY = ceil(maxY);
if (N > maxX)
{
maxX = (float)(N-1);
if (m_pCurves[j].m_pPointArray[i].y < minY)
{
minY = m_pCurves[j].m_pPointArray[i].y;
}
if (m_pCurves[j].m_pPointArray[i].y > maxY)
{
maxY = m_pCurves[j].m_pPointArray[i].y;
}
}
m_pCurves[j].m_numPoints = w.size();
minY = 0;
minX = 0;
maxY = ceil(maxY);
if (w.size() > maxX)
{
maxX = (float)(w.size()-1);
}
}
setGraphBounds(minX, maxX, minY, maxY);